import sqlite3 from flask import current_app, g def get_db(): if "db" not in g: g.db = sqlite3.connect(current_app.config["DATABASE"]) g.db.row_factory = sqlite3.Row return g.db def close_db(error=None): db = g.pop("db", None) if db is not None: db.close() def init_db(): db = get_db() db.executescript( """ CREATE TABLE IF NOT EXISTS questions ( id INTEGER PRIMARY KEY AUTOINCREMENT, question TEXT NOT NULL, option_a TEXT NOT NULL, option_b TEXT NOT NULL, date TEXT NOT NULL UNIQUE ); CREATE TABLE IF NOT EXISTS votes ( id INTEGER PRIMARY KEY AUTOINCREMENT, question_id INTEGER, vote TEXT NOT NULL, voter_hash TEXT NOT NULL ); CREATE TABLE IF NOT EXISTS admins ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL UNIQUE, password_hash TEXT NOT NULL ); """ ) db.commit()