Spaces:
Sleeping
Sleeping
File size: 2,246 Bytes
606189b dbe7897 606189b 4d078c1 606189b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
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
|