49 lines
1.0 KiB
Python
49 lines
1.0 KiB
Python
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()
|