-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase.py
More file actions
31 lines (24 loc) · 1004 Bytes
/
database.py
File metadata and controls
31 lines (24 loc) · 1004 Bytes
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
import sqlite3
from logger_config import setup_logger
db_log = setup_logger("DATABASE")
def get_conection():
try:
conn = sqlite3.connect("diagramas.db")
conn.execute("PRAGMA foreign_keys = ON")
db_log.debug("Conexion a DB establecida")
return conn
except Exception as e:
db_log.error(f"Fallo al conectar a la base de datos: {e}")
raise
def init_db():
conn = get_conection()
cursor = conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS salas (id TEXT PRIMARY KEY)")
cursor.execute('''CREATE TABLE IF NOT EXISTS nodos (
id TEXT PRIMARY KEY, room_id TEXT, data TEXT,
FOREIGN KEY(room_id) REFERENCES salas(id) ON DELETE CASCADE)''')
cursor.execute('''CREATE TABLE IF NOT EXISTS conexiones (
id TEXT PRIMARY KEY, room_id TEXT, data TEXT,
FOREIGN KEY(room_id) REFERENCES salas(id) ON DELETE CASCADE)''')
conn.commit()
conn.close()