def upgrade(ver, session): if ver is None: # get rid of old index aet = table_schema('archive_entry', session) old_index = get_index_by_name(aet, 'archive_feed_title') if old_index is not None: log.info('Dropping legacy index (may take a while) ...') old_index.drop() # create new index by title, url new_index = get_index_by_name(Base.metadata.tables['archive_entry'], 'ix_archive_title_url') if new_index: log.info('Creating new index (may take a while) ...') new_index.create(bind=session.connection()) else: # maybe removed from the model by later migrations? log.error('Unable to create index `ix_archive_title_url`, removed from the model?') # TODO: nag about this ? # This is safe as long as we don't delete the model completely :) # But generally never use Declarative Models in migrate! if session.query(ArchiveEntry).first(): log.critical('----------------------------------------------') log.critical('You should run `--archive consolidate` ') log.critical('one time when you have time, it may take hours') log.critical('----------------------------------------------') ver = 0 return ver
def upgrade(ver, session): if ver is None: # get rid of old index aet = table_schema('archive_entry', session) old_index = get_index_by_name(aet, 'archive_feed_title') if old_index is not None: log.info('Dropping legacy index (may take a while) ...') old_index.drop() # create new index by title, url new_index = get_index_by_name(Base.metadata.tables['archive_entry'], 'ix_archive_title_url') if new_index: log.info('Creating new index (may take a while) ...') new_index.create(bind=session.connection()) else: # maybe removed from the model by later migrations? log.error( 'Unable to create index `ix_archive_title_url`, removed from the model?' ) # TODO: nag about this ? # This is safe as long as we don't delete the model completely :) # But generally never use Declarative Models in migrate! if session.query(ArchiveEntry).first(): log.critical('----------------------------------------------') log.critical('You should run `--archive consolidate` ') log.critical('one time when you have time, it may take hours') log.critical('----------------------------------------------') ver = 0 return ver
def upgrade(ver, session): if ver is None: columns = table_columns('imdb_movies', session) if not 'photo' in columns: log.info('Adding photo column to imdb_movies table.') table_add_column('imdb_movies', 'photo', String, session) if not 'updated' in columns: log.info('Adding updated column to imdb_movies table.') table_add_column('imdb_movies', 'updated', DateTime, session) if not 'mpaa_rating' in columns: log.info('Adding mpaa_rating column to imdb_movies table.') table_add_column('imdb_movies', 'mpaa_rating', String, session) ver = 0 if ver == 0: # create indexes retrospectively (~r2563) log.info('Adding imdb indexes delivering up to 20x speed increase \o/ ...') indexes = [get_index_by_name(actors_table, 'ix_imdb_movie_actors'), get_index_by_name(genres_table, 'ix_imdb_movie_genres'), get_index_by_name(languages_table, 'ix_imdb_movie_languages'), get_index_by_name(directors_table, 'ix_imdb_movie_directors')] for index in indexes: if index is None: log.critical('Index adding failure!') continue log.info('Creating index %s ...' % index.name) index.create(bind=session.connection()) ver = 1 return ver
def upgrade(ver, session): if ver is None: columns = table_columns("imdb_movies", session) if not "photo" in columns: log.info("Adding photo column to imdb_movies table.") table_add_column("imdb_movies", "photo", String, session) if not "updated" in columns: log.info("Adding updated column to imdb_movies table.") table_add_column("imdb_movies", "updated", DateTime, session) if not "mpaa_rating" in columns: log.info("Adding mpaa_rating column to imdb_movies table.") table_add_column("imdb_movies", "mpaa_rating", String, session) ver = 0 if ver == 0: # create indexes retrospectively (~r2563) log.info("Adding imdb indexes delivering up to 20x speed increase \o/ ...") indexes = [ get_index_by_name(actors_table, "ix_imdb_movie_actors"), get_index_by_name(genres_table, "ix_imdb_movie_genres"), get_index_by_name(languages_table, "ix_imdb_movie_languages"), get_index_by_name(directors_table, "ix_imdb_movie_directors"), ] for index in indexes: if index is None: log.critical("Index adding failure!") continue log.info("Creating index %s ..." % index.name) index.create(bind=session.connection()) ver = 1 return ver
def upgrade(ver, session): if ver is None: columns = table_columns('imdb_movies', session) if not 'photo' in columns: log.info('Adding photo column to imdb_movies table.') table_add_column('imdb_movies', 'photo', String, session) if not 'updated' in columns: log.info('Adding updated column to imdb_movies table.') table_add_column('imdb_movies', 'updated', DateTime, session) if not 'mpaa_rating' in columns: log.info('Adding mpaa_rating column to imdb_movies table.') table_add_column('imdb_movies', 'mpaa_rating', String, session) ver = 0 if ver == 0: # create indexes retrospectively (~r2563) log.info('Adding imdb indexes delivering up to 20x speed increase \o/ ...') indexes = [get_index_by_name(actors_table, 'ix_imdb_movie_actors'), get_index_by_name(genres_table, 'ix_imdb_movie_genres'), get_index_by_name(directors_table, 'ix_imdb_movie_directors')] for index in indexes: if index is None: log.critical('Index adding failure!') continue log.info('Creating index %s ...' % index.name) index.create(bind=session.connection()) ver = 1 if ver == 1: # http://flexget.com/ticket/1399 log.info('Adding prominence column to imdb_movie_languages table.') table_add_column('imdb_movie_languages', 'prominence', Integer, session) ver = 2 return ver
def upgrade(ver, session): if ver is None: columns = table_columns('imdb_movies', session) if not 'photo' in columns: log.info('Adding photo column to imdb_movies table.') table_add_column('imdb_movies', 'photo', String, session) if not 'updated' in columns: log.info('Adding updated column to imdb_movies table.') table_add_column('imdb_movies', 'updated', DateTime, session) if not 'mpaa_rating' in columns: log.info('Adding mpaa_rating column to imdb_movies table.') table_add_column('imdb_movies', 'mpaa_rating', String, session) ver = 0 if ver == 0: # create indexes retrospectively (~r2563) log.info( 'Adding imdb indexes delivering up to 20x speed increase \o/ ...') indexes = [ get_index_by_name(actors_table, 'ix_imdb_movie_actors'), get_index_by_name(genres_table, 'ix_imdb_movie_genres'), get_index_by_name(directors_table, 'ix_imdb_movie_directors') ] for index in indexes: if index is None: log.critical('Index adding failure!') continue log.info('Creating index %s ...' % index.name) index.create(bind=session.connection()) ver = 1 if ver == 1: # http://flexget.com/ticket/1399 log.info('Adding prominence column to imdb_movie_languages table.') table_add_column('imdb_movie_languages', 'prominence', Integer, session) ver = 2 if ver == 2: log.info( 'Adding search result timestamp and clearing all previous results.' ) table_add_column('imdb_search', 'queried', DateTime, session) search_table = table_schema('imdb_search', session) session.execute(delete(search_table, search_table.c.fails)) ver = 3 if ver == 3: log.info( 'Adding original title column, cached data will not have this information' ) table_add_column('imdb_movies', 'original_title', Unicode, session) ver = 4 return ver
def upgrade(ver, session): if ver is None: columns = table_columns('imdb_movies', session) if 'photo' not in columns: log.info('Adding photo column to imdb_movies table.') table_add_column('imdb_movies', 'photo', String, session) if 'updated' not in columns: log.info('Adding updated column to imdb_movies table.') table_add_column('imdb_movies', 'updated', DateTime, session) if 'mpaa_rating' not in columns: log.info('Adding mpaa_rating column to imdb_movies table.') table_add_column('imdb_movies', 'mpaa_rating', String, session) ver = 0 if ver == 0: # create indexes retrospectively (~r2563) log.info( 'Adding imdb indexes delivering up to 20x speed increase \o/ ...') indexes = [ get_index_by_name(actors_table, 'ix_imdb_movie_actors'), get_index_by_name(genres_table, 'ix_imdb_movie_genres'), get_index_by_name(directors_table, 'ix_imdb_movie_directors') ] for index in indexes: if index is None: log.critical('Index adding failure!') continue log.info('Creating index %s ...' % index.name) index.create(bind=session.connection()) ver = 1 if ver == 1: # http://flexget.com/ticket/1399 log.info('Adding prominence column to imdb_movie_languages table.') table_add_column('imdb_movie_languages', 'prominence', Integer, session) ver = 2 if ver == 2: log.info( 'Adding search result timestamp and clearing all previous results.' ) table_add_column('imdb_search', 'queried', DateTime, session) search_table = table_schema('imdb_search', session) session.execute(delete(search_table, search_table.c.fails)) ver = 3 if ver == 3: log.info( 'Adding original title column, cached data will not have this information' ) table_add_column('imdb_movies', 'original_title', Unicode, session) ver = 4 return ver