12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- # -*- coding: utf-8 -*-
- from sqlite3 import connect
- db = connect('landing_page.db')
- cur = db.cursor()
- cur.execute('''CREATE TABLE IF NOT EXISTS user (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- name TEXT NOT NULL,
- login TEXT NOT NULL,
- password TEXT NOT NULL,
- role INTEGER NOT NULL,
- access_token TEXT NOT NULL
- );''')
- cur.execute('''CREATE TABLE IF NOT EXISTS role (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- title TEXT NOT NULL
- );''')
- cur.execute('''CREATE TABLE IF NOT EXISTS event (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- author INTEGER NOT NULL,
- title TEXT NOT NULL,
- date INTEGER NOT NULL /* timestamp */
- );''')
- cur.execute('''CREATE TABLE IF NOT EXISTS event_user (
- id INTEGER PRIMARY KEY AUTOINCREMENT,
- user_id INTEGER NOT NULL,
- event_id INTEGER NOT NULL
- );''')
- db.commit()
- def default(table: str, max_size: int, values: dict[str, object]):
- t = cur.execute(f'SELECT * FROM {table}').fetchall()
- if len(t) < max_size:
- cur.execute(
- f'INSERT INTO {table} ({",".join(values.keys())}) VALUES ({",".join(["?" for i in values.keys()])});',
- tuple([i for i in values.values()])
- )
- db.commit()
- def defaults(table: str, *values: dict[str, object]):
- size = len(values)
- for i in values:
- default(table, size, i)
- defaults(
- 'role',
- {'title': 'Администратор'}, # id = 1
- {'title': 'Спикер'}, # id = 2
- {'title': 'Слушатель'}, # id = 3
- )
|