33 lines
1 KiB
Python
33 lines
1 KiB
Python
import sqlite3
|
|
import os
|
|
|
|
DB_DIR = os.getenv("DATA_DIR", "/app/data")
|
|
DB_PATH = os.path.join(DB_DIR, "elpuro.db")
|
|
|
|
def get_db():
|
|
os.makedirs(DB_DIR, exist_ok=True)
|
|
conn = sqlite3.connect(DB_PATH)
|
|
conn.row_factory = sqlite3.Row
|
|
return conn
|
|
|
|
def init_db():
|
|
os.makedirs(DB_DIR, exist_ok=True)
|
|
with get_db() as conn:
|
|
cursor = conn.cursor()
|
|
cursor.execute("""
|
|
CREATE TABLE IF NOT EXISTS users (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
username TEXT UNIQUE NOT NULL,
|
|
password_hash TEXT NOT NULL,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
)
|
|
""")
|
|
cursor.execute("""
|
|
CREATE TABLE IF NOT EXISTS saves (
|
|
user_id INTEGER PRIMARY KEY,
|
|
save_data TEXT NOT NULL,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE
|
|
)
|
|
""")
|
|
conn.commit()
|