Desacoblar playlists de sessions i afegir slow jams

This commit is contained in:
marc
2025-11-01 19:55:24 +01:00
parent 23337f8ab3
commit 2fbdbbf290
41 changed files with 705 additions and 1418 deletions

View File

@@ -0,0 +1,57 @@
from folkugat_web.dal.sql import get_connection
from folkugat_web.dal.sql.playlists import write as playlists_w
from folkugat_web.dal.sql.playlists.ddl import (create_playlist_entries_table,
create_playlists_table)
from folkugat_web.dal.sql.sessions import playlists as session_playlists
from folkugat_web.dal.sql.sessions import query as sessions_q
from folkugat_web.dal.sql.sessions.ddl import create_session_playlists_table
from folkugat_web.model.playlists import PlaylistType
with get_connection() as con:
cur = con.cursor()
drop_query = """DROP TABLE rehearse_data"""
_ = cur.execute(drop_query)
alter_query = """ALTER TABLE playlists RENAME TO playlists_old"""
_ = cur.execute(alter_query)
# Create new tables
create_playlist_entries_table(con=con)
create_playlists_table(con=con)
create_session_playlists_table(con=con)
# Create new playlists
sessions = sessions_q.get_sessions(con=con)
for session in sessions:
if session.id is None:
raise ValueError("Session without id!")
setlist_id = playlists_w.create_playlist(con=con)
session_playlists.insert_playlist(
session_id=session.id,
playlist_type=PlaylistType.SESSION_SETLIST,
playlist_id=setlist_id,
con=con,
)
slowjam_id = playlists_w.create_playlist(con=con)
session_playlists.insert_playlist(
session_id=session.id,
playlist_type=PlaylistType.SESSION_SLOWJAM,
playlist_id=slowjam_id,
con=con,
)
# Migrate
migrate_query = """
INSERT INTO playlist_entries
(id, playlist_id, set_id, tema_id)
SELECT
NULL, sp.playlist_id, pl_old.set_id, pl_old.tema_id
FROM playlists_old pl_old JOIN session_playlists sp USING (session_id)
WHERE sp.playlist_type = "session_setlist"
"""
_ = cur.execute(migrate_query)
print("DONE!")