from folkugat_web.dal.sql import Connection, get_connection def create_db(con: Connection | None = None): with get_connection(con) as con: create_playlists_table(con) create_playlist_entries_table(con) def create_playlists_table(con: Connection): query = """ CREATE TABLE IF NOT EXISTS playlists ( id INTEGER PRIMARY KEY, name TEXT, hidden INTEGER NOT NULL DEFAULT 1 ) """ cur = con.cursor() _ = cur.execute(query) def create_playlist_entries_table(con: Connection): query = """ CREATE TABLE IF NOT EXISTS playlist_entries ( id INTEGER PRIMARY KEY, playlist_id INTEGER NOT NULL, set_id INTEGER NOT NULL, tema_id INTEGER, FOREIGN KEY (playlist_id) REFERENCES playlists(id) ON DELETE CASCADE, FOREIGN KEY (tema_id) REFERENCES temes(id) ON DELETE CASCADE ) """ cur = con.cursor() _ = cur.execute(query)