teama / database.py
FabioSantos's picture
Update database.py
dbe7897 verified
import sqlite3
from pathlib import Path
DB_PATH = Path("db/aba_data.db")
DB_PATH.parent.mkdir(exist_ok=True)
def init_db():
with sqlite3.connect(DB_PATH) as conn:
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
role TEXT NOT NULL
)
""")
cursor.execute("""
CREATE TABLE IF NOT EXISTS sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
date TEXT NOT NULL,
activities TEXT,
progress TEXT,
challenges TEXT,
observations TEXT,
performance_score INTEGER,
fails_score INTEGER,
task_completion INTEGER,
behavior_rating INTEGER,
created_by INTEGER,
FOREIGN KEY(user_id) REFERENCES users(id)
)
""")
cursor.execute("""
CREATE TABLE IF NOT EXISTS aba_data (
id INTEGER PRIMARY KEY AUTOINCREMENT,
session_id INTEGER NOT NULL,
behavior TEXT,
frequency INTEGER,
reinforcer TEXT,
technique TEXT,
FOREIGN KEY(session_id) REFERENCES sessions(id)
)
""")
cursor.execute("""
CREATE TABLE IF NOT EXISTS kid_data (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
nickname TEXT,
age INTEGER,
suport_level INTEGER,
FOREIGN KEY(user_id) REFERENCES users(id)
)
""")
conn.commit()
cursor.execute("""
CREATE TABLE IF NOT EXISTS therapist_kid (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL, -- id do terapeuta
nickname TEXT NOT NULL,
FOREIGN KEY(user_id) REFERENCES users(id)
)
""")
conn.commit()
def get_connection():
conn = sqlite3.connect(DB_PATH)
conn.row_factory = sqlite3.Row # Permite acessar colunas por nome
return conn