Reorder db migrations

This commit is contained in:
JonnyWong16 2022-02-21 09:42:50 -08:00
commit 297620f4a9
No known key found for this signature in database
GPG key ID: B1F1F9807184697A

View file

@ -1443,56 +1443,6 @@ def dbcheck():
except sqlite3.OperationalError: except sqlite3.OperationalError:
logger.warn("Unable to capitalize Windows platform values in session_history table.") logger.warn("Unable to capitalize Windows platform values in session_history table.")
# Upgrade session_history table from earlier versions
try:
c_db.execute('SELECT section_id FROM session_history')
except sqlite3.OperationalError:
logger.debug("Altering database. Updating database table session_history.")
c_db.execute(
'ALTER TABLE session_history ADD COLUMN section_id INTEGER'
)
c_db.execute(
'UPDATE session_history SET section_id = ('
'SELECT section_id FROM session_history_metadata '
'WHERE session_history_metadata.id = session_history.id)'
)
c_db.execute(
'CREATE TABLE IF NOT EXISTS session_history_metadata_temp (id INTEGER PRIMARY KEY, '
'rating_key INTEGER, parent_rating_key INTEGER, grandparent_rating_key INTEGER, '
'title TEXT, parent_title TEXT, grandparent_title TEXT, original_title TEXT, full_title TEXT, '
'media_index INTEGER, parent_media_index INTEGER, '
'thumb TEXT, parent_thumb TEXT, grandparent_thumb TEXT, '
'art TEXT, media_type TEXT, year INTEGER, originally_available_at TEXT, added_at INTEGER, updated_at INTEGER, '
'last_viewed_at INTEGER, content_rating TEXT, summary TEXT, tagline TEXT, rating TEXT, '
'duration INTEGER DEFAULT 0, guid TEXT, directors TEXT, writers TEXT, actors TEXT, genres TEXT, studio TEXT, '
'labels TEXT, live INTEGER DEFAULT 0, channel_call_sign TEXT, channel_identifier TEXT, channel_thumb TEXT)'
)
c_db.execute(
'INSERT INTO session_history_metadata_temp (id, rating_key, parent_rating_key, grandparent_rating_key, '
'title, parent_title, grandparent_title, original_title, full_title, '
'media_index, parent_media_index, '
'thumb, parent_thumb, grandparent_thumb, '
'art, media_type, year, originally_available_at, added_at, updated_at, '
'last_viewed_at, content_rating, summary, tagline, rating, '
'duration, guid, directors, writers, actors, genres, studio, '
'labels, live, channel_call_sign, channel_identifier, channel_thumb) '
'SELECT id, rating_key, parent_rating_key, grandparent_rating_key, '
'title, parent_title, grandparent_title, original_title, full_title, '
'media_index, parent_media_index, '
'thumb, parent_thumb, grandparent_thumb, '
'art, media_type, year, originally_available_at, added_at, updated_at, '
'last_viewed_at, content_rating, summary, tagline, rating, '
'duration, guid, directors, writers, actors, genres, studio, '
'labels, live, channel_call_sign, channel_identifier, channel_thumb '
'FROM session_history_metadata'
)
c_db.execute(
'DROP TABLE session_history_metadata'
)
c_db.execute(
'ALTER TABLE session_history_metadata_temp RENAME TO session_history_metadata'
)
# Upgrade session_history_metadata table from earlier versions # Upgrade session_history_metadata table from earlier versions
try: try:
c_db.execute('SELECT full_title FROM session_history_metadata') c_db.execute('SELECT full_title FROM session_history_metadata')
@ -1816,6 +1766,56 @@ def dbcheck():
'ALTER TABLE session_history_media_info ADD COLUMN stream_audio_language_code TEXT' 'ALTER TABLE session_history_media_info ADD COLUMN stream_audio_language_code TEXT'
) )
# Upgrade session_history table from earlier versions
try:
c_db.execute('SELECT section_id FROM session_history')
except sqlite3.OperationalError:
logger.debug("Altering database. Updating database table session_history.")
c_db.execute(
'ALTER TABLE session_history ADD COLUMN section_id INTEGER'
)
c_db.execute(
'UPDATE session_history SET section_id = ('
'SELECT section_id FROM session_history_metadata '
'WHERE session_history_metadata.id = session_history.id)'
)
c_db.execute(
'CREATE TABLE IF NOT EXISTS session_history_metadata_temp (id INTEGER PRIMARY KEY, '
'rating_key INTEGER, parent_rating_key INTEGER, grandparent_rating_key INTEGER, '
'title TEXT, parent_title TEXT, grandparent_title TEXT, original_title TEXT, full_title TEXT, '
'media_index INTEGER, parent_media_index INTEGER, '
'thumb TEXT, parent_thumb TEXT, grandparent_thumb TEXT, '
'art TEXT, media_type TEXT, year INTEGER, originally_available_at TEXT, added_at INTEGER, updated_at INTEGER, '
'last_viewed_at INTEGER, content_rating TEXT, summary TEXT, tagline TEXT, rating TEXT, '
'duration INTEGER DEFAULT 0, guid TEXT, directors TEXT, writers TEXT, actors TEXT, genres TEXT, studio TEXT, '
'labels TEXT, live INTEGER DEFAULT 0, channel_call_sign TEXT, channel_identifier TEXT, channel_thumb TEXT)'
)
c_db.execute(
'INSERT INTO session_history_metadata_temp (id, rating_key, parent_rating_key, grandparent_rating_key, '
'title, parent_title, grandparent_title, original_title, full_title, '
'media_index, parent_media_index, '
'thumb, parent_thumb, grandparent_thumb, '
'art, media_type, year, originally_available_at, added_at, updated_at, '
'last_viewed_at, content_rating, summary, tagline, rating, '
'duration, guid, directors, writers, actors, genres, studio, '
'labels, live, channel_call_sign, channel_identifier, channel_thumb) '
'SELECT id, rating_key, parent_rating_key, grandparent_rating_key, '
'title, parent_title, grandparent_title, original_title, full_title, '
'media_index, parent_media_index, '
'thumb, parent_thumb, grandparent_thumb, '
'art, media_type, year, originally_available_at, added_at, updated_at, '
'last_viewed_at, content_rating, summary, tagline, rating, '
'duration, guid, directors, writers, actors, genres, studio, '
'labels, live, channel_call_sign, channel_identifier, channel_thumb '
'FROM session_history_metadata'
)
c_db.execute(
'DROP TABLE session_history_metadata'
)
c_db.execute(
'ALTER TABLE session_history_metadata_temp RENAME TO session_history_metadata'
)
# Upgrade users table from earlier versions # Upgrade users table from earlier versions
try: try:
c_db.execute('SELECT do_notify FROM users') c_db.execute('SELECT do_notify FROM users')