FabioSantos commited on
Commit
606189b
·
verified ·
1 Parent(s): d0f49a0

Update database.py

Browse files
Files changed (1) hide show
  1. database.py +85 -80
database.py CHANGED
@@ -1,80 +1,85 @@
1
- import sqlite3
2
- from pathlib import Path
3
-
4
- DB_PATH = Path("db/aba_data.db")
5
- DB_PATH.parent.mkdir(exist_ok=True)
6
-
7
- def init_db():
8
- with sqlite3.connect(DB_PATH) as conn:
9
- cursor = conn.cursor()
10
-
11
- cursor.execute("""
12
- CREATE TABLE IF NOT EXISTS users (
13
- id INTEGER PRIMARY KEY AUTOINCREMENT,
14
- name TEXT NOT NULL,
15
- email TEXT UNIQUE NOT NULL,
16
- password TEXT NOT NULL,
17
- role TEXT NOT NULL
18
- )
19
- """)
20
-
21
- cursor.execute("""
22
- CREATE TABLE IF NOT EXISTS sessions (
23
- id INTEGER PRIMARY KEY AUTOINCREMENT,
24
- user_id INTEGER NOT NULL,
25
- date TEXT NOT NULL,
26
- activities TEXT,
27
- progress TEXT,
28
- challenges TEXT,
29
- observations TEXT,
30
- performance_score INTEGER,
31
- fails_score INTEGER,
32
- task_completion INTEGER,
33
- behavior_rating INTEGER,
34
- FOREIGN KEY(user_id) REFERENCES users(id)
35
- )
36
- """)
37
-
38
- cursor.execute("""
39
- CREATE TABLE IF NOT EXISTS aba_data (
40
- id INTEGER PRIMARY KEY AUTOINCREMENT,
41
- session_id INTEGER NOT NULL,
42
- behavior TEXT,
43
- frequency INTEGER,
44
- reinforcer TEXT,
45
- technique TEXT,
46
- FOREIGN KEY(session_id) REFERENCES sessions(id)
47
- )
48
- """)
49
-
50
- cursor.execute("""
51
- CREATE TABLE IF NOT EXISTS kid_data (
52
- id INTEGER PRIMARY KEY AUTOINCREMENT,
53
- user_id INTEGER NOT NULL,
54
- nickname TEXT,
55
- age INTEGER,
56
- suport_level INTEGER,
57
- FOREIGN KEY(user_id) REFERENCES users(id)
58
- )
59
- """)
60
-
61
- conn.commit()
62
-
63
-
64
- cursor.execute("""
65
- CREATE TABLE IF NOT EXISTS therapist_kid (
66
- id INTEGER PRIMARY KEY AUTOINCREMENT,
67
- user_id INTEGER NOT NULL, -- id do terapeuta
68
- nickname TEXT NOT NULL,
69
- FOREIGN KEY(user_id) REFERENCES users(id)
70
- )
71
- """)
72
-
73
- conn.commit()
74
-
75
-
76
-
77
- def get_connection():
78
- conn = sqlite3.connect(DB_PATH)
79
- conn.row_factory = sqlite3.Row # Permite acessar colunas por nome
80
- return conn
 
 
 
 
 
 
1
+ import sqlite3
2
+ from pathlib import Path
3
+
4
+ DB_PATH = Path("db/aba_data.db")
5
+ DB_PATH.parent.mkdir(exist_ok=True)
6
+
7
+ def init_db():
8
+ with sqlite3.connect(DB_PATH) as conn:
9
+ cursor = conn.cursor()
10
+
11
+ cursor.execute("""
12
+ CREATE TABLE IF NOT EXISTS users (
13
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
14
+ name TEXT NOT NULL,
15
+ email TEXT UNIQUE NOT NULL,
16
+ password TEXT NOT NULL,
17
+ role TEXT NOT NULL
18
+ )
19
+ """)
20
+
21
+ cursor.execute("""
22
+ CREATE TABLE IF NOT EXISTS sessions (
23
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
24
+ user_id INTEGER NOT NULL,
25
+ date TEXT NOT NULL,
26
+ activities TEXT,
27
+ progress TEXT,
28
+ challenges TEXT,
29
+ observations TEXT,
30
+ performance_score INTEGER,
31
+ fails_score INTEGER,
32
+ task_completion INTEGER,
33
+ behavior_rating INTEGER,
34
+ FOREIGN KEY(user_id) REFERENCES users(id)
35
+ )
36
+ """)
37
+
38
+ cursor.execute("""
39
+ CREATE TABLE IF NOT EXISTS aba_data (
40
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
41
+ session_id INTEGER NOT NULL,
42
+ behavior TEXT,
43
+ frequency INTEGER,
44
+ reinforcer TEXT,
45
+ technique TEXT,
46
+ FOREIGN KEY(session_id) REFERENCES sessions(id)
47
+ )
48
+ """)
49
+
50
+ cursor.execute("""
51
+ CREATE TABLE IF NOT EXISTS kid_data (
52
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
53
+ user_id INTEGER NOT NULL,
54
+ nickname TEXT,
55
+ age INTEGER,
56
+ suport_level INTEGER,
57
+ FOREIGN KEY(user_id) REFERENCES users(id)
58
+ )
59
+ """)
60
+
61
+ conn.commit()
62
+
63
+
64
+ cursor.execute("""
65
+ CREATE TABLE IF NOT EXISTS therapist_kid (
66
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
67
+ user_id INTEGER NOT NULL, -- id do terapeuta
68
+ nickname TEXT NOT NULL,
69
+ FOREIGN KEY(user_id) REFERENCES users(id)
70
+ )
71
+ """)
72
+
73
+ conn.commit()
74
+
75
+ try:
76
+ cursor.execute("ALTER TABLE sessions ADD COLUMN created_by INTEGER")
77
+ except sqlite3.OperationalError:
78
+ pass # Coluna já existe
79
+
80
+
81
+
82
+ def get_connection():
83
+ conn = sqlite3.connect(DB_PATH)
84
+ conn.row_factory = sqlite3.Row # Permite acessar colunas por nome
85
+ return conn