Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. def init_db():
  2. with sqlite3.connect(db) as con:
  3. cur = con.cursor()
  4. # i could do better but not this time
  5. cur.execute("CREATE TABLE type(id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255));")
  6. cur.execute("CREATE TABLE status(id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255));")
  7. cur.execute("CREATE TABLE role(id INTEGER PRIMARY KEY, name VARCHAR(32));")
  8. cur.execute("CREATE TABLE user(id INTEGER PRIMARY KEY AUTOINCREMENT, login VARCHAR(32), pass VARCHAR(32),\
  9. name VARCHAR(255), role INTEGER, FOREIGN KEY(role) REFERENCES role(id));")
  10. cur.execute("CREATE TABLE ticket(id INTEGER PRIMARY KEY AUTOINCREMENT, date DATE, author INTEGER, type INTEGER, status INTEGER,\
  11. message TEXT, FOREIGN KEY(author) REFERENCES user(id), FOREIGN KEY(type) REFERENCES type(id),\
  12. FOREIGN KEY(status) REFERENCES status(id));")
  13. # types migration
  14. cur.execute("INSERT INTO type(name) VALUES ('Проблемы с компьютером')")
  15. cur.execute("INSERT INTO type(name) VALUES ('Предоставление доступа')")
  16. cur.execute("INSERT INTO type(name) VALUES ('Другое')")
  17.  
  18. # status..
  19. cur.execute("INSERT INTO status(name) VALUES ('Новое')")
  20. cur.execute("INSERT INTO status(name) VALUES ('В работе')")
  21. cur.execute("INSERT INTO status(name) VALUES ('Завершено')")
  22.  
  23. # roles..
  24. cur.execute("INSERT INTO role(id, name) VALUES (1, 'Администратор')")
  25. cur.execute("INSERT INTO role(id, name) VALUES (2, 'Сотрудник')")
  26. cur.execute("INSERT INTO role(id, name) VALUES (3, 'Клиент')")
  27.  
  28. # fake users..
  29. cur.execute("INSERT INTO user(login, pass, name, role) VALUES ('admin', ?, 'Голунов Иван Иванович', 1)",
  30. (password_hash('admin'),))
  31. cur.execute("INSERT INTO user(login, pass, name, role) VALUES ('staff', ?, 'Амиантов Николай Николаевич', 2)",
  32. (password_hash('staff'),))
  33. cur.execute("INSERT INTO user(login, pass, name, role) VALUES ('user', ?, 'Пользский Иван Иванович', 3)",
  34. (password_hash('user'),))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement