""" empty message
Revision ID : 195144 da1f7e
Revises : 95 cd4cf40d7a
Create Date : 2023 - 07 - 27 13 : 14 : 08.825037
"""
from alembic import op
import sqlalchemy as sa
from app . database import TableHistory , TableHistoryMovie , TableBlacklist , TableBlacklistMovie , select
# revision identifiers, used by Alembic.
revision = ' 195144da1f7e '
down_revision = ' 95cd4cf40d7a '
branch_labels = None
depends_on = None
bind = op . get_context ( ) . bind
insp = sa . inspect ( bind )
tables = insp . get_table_names ( )
sqlite = bind . engine . name == ' sqlite '
def column_exists ( table_name , column_name ) :
columns = insp . get_columns ( table_name )
return any ( c [ " name " ] == column_name for c in columns )
def upgrade ( ) :
if column_exists ( ' table_episodes ' , ' rowid ' ) :
if sqlite :
table_history_data = [ {
" id " : x . id ,
" action " : x . action ,
" description " : x . description ,
" language " : x . language ,
" provider " : x . provider ,
" score " : x . score ,
" sonarrEpisodeId " : x . sonarrEpisodeId ,
" sonarrSeriesId " : x . sonarrSeriesId ,
" subs_id " : x . subs_id ,
" subtitles_path " : x . subtitles_path ,
" timestamp " : x . timestamp ,
" video_path " : x . video_path ,
" matched " : x . matched ,
" not_matched " : x . not_matched ,
} for x in bind . execute ( select ( TableHistory ) ) . all ( ) ]
table_blacklist_data = [ {
" id " : x . id ,
" language " : x . language ,
" provider " : x . provider ,
" sonarr_episode_id " : x . sonarr_episode_id ,
" sonarr_series_id " : x . sonarr_series_id ,
" subs_id " : x . subs_id ,
" timestamp " : x . timestamp ,
} for x in bind . execute ( select ( TableBlacklist ) ) . all ( ) ]
with op . batch_alter_table ( ' table_episodes ' ) as batch_op :
batch_op . drop_column ( column_name = ' rowid ' )
if sqlite :
op . bulk_insert ( TableHistory . __table__ , rows = table_history_data )
op . bulk_insert ( TableBlacklist . __table__ , rows = table_blacklist_data )
if column_exists ( ' table_movies ' , ' rowid ' ) :
if sqlite :
table_history_movie_data = [ {
" id " : x . id ,
" action " : x . action ,
" description " : x . description ,
" language " : x . language ,
" provider " : x . provider ,
" radarrId " : x . radarrId ,
" score " : x . score ,
" subs_id " : x . subs_id ,
" subtitles_path " : x . subtitles_path ,
" timestamp " : x . timestamp ,
" video_path " : x . video_path ,
" matched " : x . matched ,
" not_matched " : x . not_matched ,
} for x in bind . execute ( select ( TableHistoryMovie ) ) . all ( ) ]
table_blacklist_movie_data = [ {
" id " : x . id ,
" language " : x . language ,
" provider " : x . provider ,
" radarr_id " : x . radarr_id ,
" subs_id " : x . subs_id ,
" timestamp " : x . timestamp ,
} for x in bind . execute ( select ( TableBlacklistMovie ) ) . all ( ) ]
with op . batch_alter_table ( ' table_movies ' ) as batch_op :
batch_op . drop_column ( column_name = ' rowid ' )
if sqlite :
op . bulk_insert ( TableHistoryMovie . __table__ , rows = table_history_movie_data )
op . bulk_insert ( TableBlacklistMovie . __table__ , rows = table_blacklist_movie_data )
if ' table_custom_score_profile_conditions ' in tables :
op . drop_table ( ' table_custom_score_profile_conditions ' )
if ' table_custom_score_profiles ' in tables :
op . drop_table ( ' table_custom_score_profiles ' )
def downgrade ( ) :
pass