34 lines
907 B
Python
34 lines
907 B
Python
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
|
|
)
|
|
"""
|
|
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)
|