Skip to content

Instantly share code, notes, and snippets.

@ihfazhillah
Created January 23, 2017 11:48
Show Gist options
  • Save ihfazhillah/fe8e990f0901067d3b7db9ea4ab66680 to your computer and use it in GitHub Desktop.
Save ihfazhillah/fe8e990f0901067d3b7db9ea4ab66680 to your computer and use it in GitHub Desktop.
menambahkan slug kolom dan mengisinya
"""
asumsi database memiliki 3 table: book, author, genre
setiap table tidak memiliki kolom slug dan akan ditambahkan kolom ini
dan diisi slug berdasarkan:
- book => title
- genre => name
- author => name
menggunakan slugify.slugify module (pip install python-slugify)
contoh penggunaaan:
$ python3 add_slug_script.py "coba.sqlite"
elapsed time: 0:00:00.394376
"""
import sqlite3
from slugify import slugify
import datetime
def main(DB_PATH):
con = sqlite3.connect(DB_PATH)
cur = con.cursor()
con.create_function('slugify', 1, slugify)
cur.execute('alter table book add column slug varchar')
cur.execute('alter table author add column slug varchar')
cur.execute('alter table genre add column slug varchar')
cur.execute('update book set slug=slugify(title)')
cur.execute('update genre set slug=slugify(name)')
cur.execute('update author set slug=slugify(name)')
con.commit()
con.close()
if __name__ == '__main__':
import sys
# cara gunakan, panggil script ini dan ikuti dengan database path didalam ""
args = sys.argv
start = datetime.datetime.now()
main(args[1])
end = datetime.datetime.now()
print("elapsed time: %s" % str(end - start))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment