Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def init_db():
- with sqlite3.connect(db) as con:
- cur = con.cursor()
- # i could do better but not this time
- cur.execute("CREATE TABLE type(id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255));")
- cur.execute("CREATE TABLE status(id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255));")
- cur.execute("CREATE TABLE role(id INTEGER PRIMARY KEY, name VARCHAR(32));")
- cur.execute("CREATE TABLE user(id INTEGER PRIMARY KEY AUTOINCREMENT, login VARCHAR(32), pass VARCHAR(32),\
- name VARCHAR(255), role INTEGER, FOREIGN KEY(role) REFERENCES role(id));")
- cur.execute("CREATE TABLE ticket(id INTEGER PRIMARY KEY AUTOINCREMENT, date DATE, author INTEGER, type INTEGER, status INTEGER,\
- message TEXT, FOREIGN KEY(author) REFERENCES user(id), FOREIGN KEY(type) REFERENCES type(id),\
- FOREIGN KEY(status) REFERENCES status(id));")
- # types migration
- cur.execute("INSERT INTO type(name) VALUES ('Проблемы с компьютером')")
- cur.execute("INSERT INTO type(name) VALUES ('Предоставление доступа')")
- cur.execute("INSERT INTO type(name) VALUES ('Другое')")
- # status..
- cur.execute("INSERT INTO status(name) VALUES ('Новое')")
- cur.execute("INSERT INTO status(name) VALUES ('В работе')")
- cur.execute("INSERT INTO status(name) VALUES ('Завершено')")
- # roles..
- cur.execute("INSERT INTO role(id, name) VALUES (1, 'Администратор')")
- cur.execute("INSERT INTO role(id, name) VALUES (2, 'Сотрудник')")
- cur.execute("INSERT INTO role(id, name) VALUES (3, 'Клиент')")
- # fake users..
- cur.execute("INSERT INTO user(login, pass, name, role) VALUES ('admin', ?, 'Голунов Иван Иванович', 1)",
- (password_hash('admin'),))
- cur.execute("INSERT INTO user(login, pass, name, role) VALUES ('staff', ?, 'Амиантов Николай Николаевич', 2)",
- (password_hash('staff'),))
- cur.execute("INSERT INTO user(login, pass, name, role) VALUES ('user', ?, 'Пользский Иван Иванович', 3)",
- (password_hash('user'),))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement