Spaces:
Sleeping
Sleeping
| 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 | |