You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.5 KiB
39 lines
1.5 KiB
import common
|
|
from autotest_lib.database import db_utils, migrate
|
|
|
|
TKO_MIGRATION_NAME = '031_rename_tko_tables'
|
|
migrations_module = __import__('autotest_lib.tko.migrations', globals(),
|
|
locals(), [TKO_MIGRATION_NAME])
|
|
tko_migration = getattr(migrations_module, TKO_MIGRATION_NAME)
|
|
|
|
TABLE_NAMES = tko_migration.RENAMES_UP.values()
|
|
|
|
|
|
def migrate_up(manager):
|
|
tko_manager = migrate.get_migration_manager(db_name='TKO', debug=False,
|
|
force=False)
|
|
if tko_manager.get_db_version() < 31:
|
|
raise Exception('You must update the TKO database to at least version '
|
|
'31 before applying AUTOTEST_WEB migration 46')
|
|
|
|
if manager.simulate:
|
|
tko_manager.initialize_and_fill_test_db()
|
|
|
|
if not manager.force:
|
|
response = raw_input(
|
|
'This migration will merge the autotest_web and tko databases. '
|
|
'Following the migration, the tko database will be dropped. '
|
|
'Any user-added tables in tko will NOT be migrated. This '
|
|
'migration is NOT reversible. Are you sure you want to '
|
|
'continue? (yes/no) ')
|
|
if response != 'yes':
|
|
raise Exception('User has chosen to abort migration')
|
|
|
|
db_utils.move_tables(manager, tko_manager, TABLE_NAMES)
|
|
db_utils.drop_database(tko_manager)
|
|
manager.execute_script(tko_migration.RECREATE_VIEWS_UP)
|
|
|
|
|
|
def migrate_down(manager):
|
|
raise Exception('Migration 46 is not reversible!')
|