From 6593986b34030b533bc66d112aaa6f873d519b52 Mon Sep 17 00:00:00 2001 From: Trevor McCasland Date: Wed, 5 Oct 2016 17:20:45 -0500 Subject: [PATCH] Remove downgrade Removed downgrade from all existing migrations. Modified a test that verifies that no migrations have a downgrade. Modified test _walk_versions to only do upgrades. Removed exceptions from pylint.config Related cross-project spec: https://review.openstack.org/152337 Closes-Bug: #1434103 Change-Id: I9a7c87ae3f4e2eff3a4a6df881d086d52062dbba --- tools/trove-pylint.config | 182 +----------------- trove/cmd/manage.py | 10 +- trove/db/sqlalchemy/api.py | 4 - .../migrate_repo/versions/001_base_schema.py | 6 - .../versions/002_service_images.py | 6 - .../versions/003_service_statuses.py | 6 - .../migrate_repo/versions/004_root_enabled.py | 6 - .../migrate_repo/versions/005_heartbeat.py | 6 - .../migrate_repo/versions/006_dns_records.py | 6 - .../versions/007_add_volume_flavor.py | 11 -- .../versions/008_add_instance_fields.py | 11 -- .../009_add_deleted_flag_to_instances.py | 10 - .../migrate_repo/versions/010_add_usage.py | 6 - .../migrate_repo/versions/011_quota.py | 6 - .../migrate_repo/versions/012_backup.py | 6 - .../013_add_security_group_artifacts.py | 7 - .../versions/014_update_instance_flavor_id.py | 11 -- .../versions/015_add_service_type.py | 8 - .../versions/016_add_datastore_type.py | 22 --- .../versions/017_update_datastores.py | 15 -- .../versions/018_datastore_versions_fix.py | 8 - .../versions/019_datastore_fix.py | 31 --- .../versions/020_configurations.py | 19 -- .../versions/021_conductor_last_seen.py | 6 - .../versions/022_add_backup_parent_id.py | 9 - .../versions/023_add_instance_indexes.py | 13 -- .../versions/024_add_backup_indexes.py | 14 -- .../025_add_service_statuses_indexes.py | 9 - .../026_datastore_versions_unique_fix.py | 7 - .../027_add_datastore_capabilities.py | 6 - .../versions/028_recreate_agent_heartbeat.py | 27 --- .../versions/029_add_backup_datastore.py | 19 -- .../versions/030_add_master_slave.py | 18 -- .../031_add_timestamps_to_configurations.py | 7 - .../migrate_repo/versions/032_clusters.py | 36 ---- .../versions/033_datastore_parameters.py | 6 - .../versions/034_change_task_description.py | 4 - .../versions/035_flavor_id_int_to_string.py | 7 - .../036_add_datastore_version_metadata.py | 6 - .../migrate_repo/versions/037_modules.py | 6 - .../versions/038_instance_faults.py | 6 - trove/db/sqlalchemy/migration.py | 16 -- trove/tests/db/migrations.py | 39 +--- 43 files changed, 10 insertions(+), 654 deletions(-) diff --git a/tools/trove-pylint.config b/tools/trove-pylint.config index 444e9dcc56..a5a64eb4ea 100644 --- a/tools/trove-pylint.config +++ b/tools/trove-pylint.config @@ -519,84 +519,42 @@ "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", "E1101", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", "E1101", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", "E1101", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", "E1120", @@ -609,120 +567,54 @@ "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py", "no-value-for-parameter", "No value for argument 'dml' in method call", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", "E1101", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", "E1101", "Instance of 'Table' has no 'drop_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "E1120", - "No value for argument 'dml' in method call", - "downgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", "no-member", "Instance of 'Table' has no 'drop_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py", - "no-value-for-parameter", - "No value for argument 'dml' in method call", - "downgrade" - ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "E1101", - "Instance of 'Table' has no 'create_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", "E1101", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", "E1101", "Instance of 'Table' has no 'drop_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "no-member", - "Instance of 'Table' has no 'create_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py", "no-member", @@ -735,144 +627,72 @@ "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", "E1101", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", "E1101", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", "E1101", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", "E1101", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", "E1101", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "E1101", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", "no-member", "Instance of 'Table' has no 'create_column' member", "upgrade" ], - [ - "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py", - "no-member", - "Instance of 'Table' has no 'drop_column' member", - "downgrade" - ], [ "trove/db/sqlalchemy/migration.py", "E0611", @@ -1763,4 +1583,4 @@ "--rcfile=./pylintrc", "-E" ] -} \ No newline at end of file +} diff --git a/trove/cmd/manage.py b/trove/cmd/manage.py index ea16ecce4f..b84f7964f3 100644 --- a/trove/cmd/manage.py +++ b/trove/cmd/manage.py @@ -22,7 +22,6 @@ gettext.install('trove', unicode=1) from oslo_log import log as logging -from oslo_log.versionutils import deprecated from trove.common import cfg from trove.common import exception @@ -47,9 +46,8 @@ class Commands(object): def db_upgrade(self, version=None, repo_path=None): self.db_api.db_upgrade(CONF, version, repo_path=repo_path) - @deprecated(as_of=deprecated.MITAKA) def db_downgrade(self, version, repo_path=None): - self.db_api.db_downgrade(CONF, version, repo_path=repo_path) + raise SystemExit(_("Database downgrade is no longer supported.")) def execute(self): exec_method = getattr(self, CONF.action.name) @@ -140,12 +138,6 @@ def main(): 'latest version.') parser.add_argument('--repo_path', help=repo_path_help) - parser = subparser.add_parser( - 'db_downgrade', description='Downgrade the database to the ' - 'specified version.') - parser.add_argument('version', help='Target version.') - parser.add_argument('--repo_path', help=repo_path_help) - parser = subparser.add_parser( 'datastore_update', description='Add or update a datastore. ' 'If the datastore already exists, the default version will be ' diff --git a/trove/db/sqlalchemy/api.py b/trove/db/sqlalchemy/api.py index b5aa3be9cb..324dcd32c4 100644 --- a/trove/db/sqlalchemy/api.py +++ b/trove/db/sqlalchemy/api.py @@ -107,10 +107,6 @@ def db_upgrade(options, version=None, repo_path=None): migration.upgrade(options, version, repo_path) -def db_downgrade(options, version, repo_path=None): - migration.downgrade(options, version, repo_path) - - def db_reset(options, *plugins): drop_db(options) db_sync(options) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/001_base_schema.py b/trove/db/sqlalchemy/migrate_repo/versions/001_base_schema.py index 7411345204..2db500994c 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/001_base_schema.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/001_base_schema.py @@ -18,7 +18,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import Integer from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -44,8 +43,3 @@ instances = Table( def upgrade(migrate_engine): meta.bind = migrate_engine create_tables([instances]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([instances]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/002_service_images.py b/trove/db/sqlalchemy/migrate_repo/versions/002_service_images.py index b82eb5c50e..3d1a1b010d 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/002_service_images.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/002_service_images.py @@ -17,7 +17,6 @@ from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import create_tables -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -35,8 +34,3 @@ service_images = Table( def upgrade(migrate_engine): meta.bind = migrate_engine create_tables([service_images]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([service_images]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/003_service_statuses.py b/trove/db/sqlalchemy/migrate_repo/versions/003_service_statuses.py index 76f049558a..416caa6cc1 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/003_service_statuses.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/003_service_statuses.py @@ -18,7 +18,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import Integer from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -39,8 +38,3 @@ service_statuses = Table( def upgrade(migrate_engine): meta.bind = migrate_engine create_tables([service_statuses]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([service_statuses]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/004_root_enabled.py b/trove/db/sqlalchemy/migrate_repo/versions/004_root_enabled.py index 6fd6f1266d..478e54b26d 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/004_root_enabled.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/004_root_enabled.py @@ -18,7 +18,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -37,8 +36,3 @@ root_enabled_history = Table( def upgrade(migrate_engine): meta.bind = migrate_engine create_tables([root_enabled_history]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([root_enabled_history]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/005_heartbeat.py b/trove/db/sqlalchemy/migrate_repo/versions/005_heartbeat.py index 57aa7f7bdf..efe4783e12 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/005_heartbeat.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/005_heartbeat.py @@ -18,7 +18,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -36,8 +35,3 @@ agent_heartbeats = Table( def upgrade(migrate_engine): meta.bind = migrate_engine create_tables([agent_heartbeats]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([agent_heartbeats]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/006_dns_records.py b/trove/db/sqlalchemy/migrate_repo/versions/006_dns_records.py index 79d554e60d..46f97999e2 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/006_dns_records.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/006_dns_records.py @@ -17,7 +17,6 @@ from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import create_tables -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -34,8 +33,3 @@ dns_records = Table( def upgrade(migrate_engine): meta.bind = migrate_engine create_tables([dns_records]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([dns_records]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py b/trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py index 829a8a4bb9..3ee23757d1 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py @@ -31,14 +31,3 @@ def upgrade(migrate_engine): instances.create_column(flavor_id) instances.create_column(volume_size) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - - # drop column: - instances = Table('instances', meta, autoload=True) - - instances.drop_column('flavor_id') - instances.drop_column('volume_size') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py b/trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py index dfd605978d..eb722e0691 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py @@ -27,14 +27,3 @@ def upgrade(migrate_engine): instances = Table('instances', meta, autoload=True) instances.create_column(Column('tenant_id', String(36), nullable=True)) instances.create_column(Column('server_status', String(64))) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - - # drop column: - instances = Table('instances', meta, autoload=True) - - instances.drop_column('tenant_id') - instances.drop_column('server_status') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py b/trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py index 69d2293691..f5668df2b0 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py @@ -28,13 +28,3 @@ def upgrade(migrate_engine): instances = Table('instances', meta, autoload=True) instances.create_column(Column('deleted', Boolean())) instances.create_column(Column('deleted_at', DateTime())) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - - # drop column: - instances = Table('instances', meta, autoload=True) - instances.drop_column('deleted') - instances.drop_column('deleted_at') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/010_add_usage.py b/trove/db/sqlalchemy/migrate_repo/versions/010_add_usage.py index 0e4fdfc2c6..b55a205643 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/010_add_usage.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/010_add_usage.py @@ -18,7 +18,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import Integer from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -44,8 +43,3 @@ usage_events = Table( def upgrade(migrate_engine): meta.bind = migrate_engine create_tables([usage_events]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([usage_events]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/011_quota.py b/trove/db/sqlalchemy/migrate_repo/versions/011_quota.py index 3cd4d3d626..616e18032e 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/011_quota.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/011_quota.py @@ -18,7 +18,6 @@ from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import Integer from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -60,8 +59,3 @@ reservations = Table('reservations', meta, def upgrade(migrate_engine): meta.bind = migrate_engine create_tables([quotas, quota_usages, reservations]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([quotas, quota_usages, reservations]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/012_backup.py b/trove/db/sqlalchemy/migrate_repo/versions/012_backup.py index 5b32724cce..6da31474c5 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/012_backup.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/012_backup.py @@ -18,7 +18,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import Float from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -46,8 +45,3 @@ backups = Table('backups', meta, def upgrade(migrate_engine): meta.bind = migrate_engine create_tables([backups, ]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([backups, ]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/013_add_security_group_artifacts.py b/trove/db/sqlalchemy/migrate_repo/versions/013_add_security_group_artifacts.py index 65679e2331..499be5fdd0 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/013_add_security_group_artifacts.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/013_add_security_group_artifacts.py @@ -20,7 +20,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import Integer from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -88,9 +87,3 @@ def upgrade(migrate_engine): ) create_tables([security_groups, security_group_rules, security_group_instance_associations]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([security_group_instance_associations, - security_group_rules, security_groups]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/014_update_instance_flavor_id.py b/trove/db/sqlalchemy/migrate_repo/versions/014_update_instance_flavor_id.py index 66b118f363..23eb57493e 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/014_update_instance_flavor_id.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/014_update_instance_flavor_id.py @@ -15,7 +15,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Integer -from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -33,13 +32,3 @@ def upgrade(migrate_engine): instances = Table('instances', meta, autoload=True) # modify column instances.c.flavor_id.alter(type=Integer()) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - # int->char casts in pgsql still work fine without any USING clause, - # so downgrade is not affected. - # modify column: - instances = Table('instances', meta, autoload=True) - instances.c.flavor_id.alter(type=String(36)) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py b/trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py index aa6132f0ef..a5b41fe4e3 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py @@ -26,11 +26,3 @@ def upgrade(migrate_engine): service_type = Column('service_type', String(36)) instances.create_column(service_type) instances.update().values({'service_type': 'mysql'}).execute() - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - # modify column: - instances = Table('instances', meta, autoload=True) - instances.drop_column('service_type') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py b/trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py index cec628a75a..9bfd834c63 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py @@ -19,10 +19,8 @@ from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table -from trove.db.sqlalchemy import utils as db_utils meta = MetaData() @@ -62,23 +60,3 @@ def upgrade(migrate_engine): # Table 'service_images' is deprecated since this version. # Leave it for few releases. # drop_tables([service_images]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - instances = Table('instances', meta, autoload=True) - constraint_names = db_utils.get_foreign_key_constraint_names( - engine=migrate_engine, - table='instances', - columns=['datastore_version_id'], - ref_table='datastore_versions', - ref_columns=['id']) - db_utils.drop_foreign_key_constraints( - constraint_names=constraint_names, - columns=[instances.c.datastore_version_id], - ref_columns=[datastore_versions.c.id]) - instances.drop_column('datastore_version_id') - service_type = Column('service_type', String(36)) - instances.create_column(service_type) - instances.update().values({'service_type': 'mysql'}).execute() - drop_tables([datastore_versions, datastores]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py b/trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py index a043b29018..68383260ef 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py @@ -46,18 +46,3 @@ def upgrade(migrate_engine): # drop column from datastores datastores.drop_column('manager') - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - - datastores = Table('datastores', meta, autoload=True) - datastore_versions = Table('datastore_versions', meta, autoload=True) - - # drop column from datastore_versions - datastore_versions.drop_column('manager') - - # add column to datastores - manager = Column('manager', String(255)) - datastores.create_column(manager) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/018_datastore_versions_fix.py b/trove/db/sqlalchemy/migrate_repo/versions/018_datastore_versions_fix.py index dbb5ebaaf8..5d05db9401 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/018_datastore_versions_fix.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/018_datastore_versions_fix.py @@ -23,11 +23,3 @@ def upgrade(migrate_engine): datastore_versions = Table('datastore_versions', meta, autoload=True) # modify column datastore_versions.c.name.alter(unique=False) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - # modify column: - datastore_versions = Table('datastore_versions', meta, autoload=True) - datastore_versions.c.name.alter(unique=True) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/019_datastore_fix.py b/trove/db/sqlalchemy/migrate_repo/versions/019_datastore_fix.py index dab329aa0a..2a508f80d8 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/019_datastore_fix.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/019_datastore_fix.py @@ -13,7 +13,6 @@ # under the License. from sqlalchemy.schema import MetaData -from sqlalchemy.sql.expression import delete from sqlalchemy.sql.expression import insert from sqlalchemy.sql.expression import select from sqlalchemy.sql.expression import update @@ -129,33 +128,3 @@ def upgrade(migrate_engine): constraint_names=constraint_names, columns=[instance_table.c.datastore_version_id], ref_columns=[datastore_versions_table.c.id]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - - instance_table = Table('instances', meta, autoload=True) - - instance_table.c.datastore_version_id.alter(nullable=True) - - update( - table=instance_table, - whereclause="datastore_version_id='%s'" % LEGACY_VERSION_ID, - values=dict(datastore_version_id=None) - ).execute() - - datastores_table = Table('datastores', - meta, - autoload=True) - datastore_versions_table = Table('datastore_versions', - meta, - autoload=True) - - delete( - table=datastore_versions_table, - whereclause="id='%s'" % LEGACY_VERSION_ID - ).execute() - delete( - table=datastores_table, - whereclause="id='%s'" % LEGACY_DATASTORE_ID - ).execute() diff --git a/trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py b/trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py index 82e9b6a059..3b4fc1f26b 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py @@ -20,10 +20,8 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table -from trove.db.sqlalchemy import utils as db_utils meta = MetaData() @@ -59,20 +57,3 @@ def upgrade(migrate_engine): instances = Table('instances', meta, autoload=True) instances.create_column(Column('configuration_id', String(36), ForeignKey("configurations.id"))) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - instances = Table('instances', meta, autoload=True) - constraint_names = db_utils.get_foreign_key_constraint_names( - engine=migrate_engine, - table='instances', - columns=['configuration_id'], - ref_table='configurations', - ref_columns=['id']) - db_utils.drop_foreign_key_constraints( - constraint_names=constraint_names, - columns=[instances.c.configuration_id], - ref_columns=[configurations.c.id]) - instances.drop_column('configuration_id') - drop_tables([configuration_parameters, configurations]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/021_conductor_last_seen.py b/trove/db/sqlalchemy/migrate_repo/versions/021_conductor_last_seen.py index bfd52fdcd8..7bf683af5d 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/021_conductor_last_seen.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/021_conductor_last_seen.py @@ -16,7 +16,6 @@ from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import create_tables -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import Float from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -34,8 +33,3 @@ conductor_lastseen = Table( def upgrade(migrate_engine): meta.bind = migrate_engine create_tables([conductor_lastseen]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([conductor_lastseen]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py b/trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py index f43b737118..62c2fdd8b2 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py @@ -26,12 +26,3 @@ def upgrade(migrate_engine): # add column: backups = Table('backups', meta, autoload=True) backups.create_column(Column('parent_id', String(36), nullable=True)) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - - # drop column: - backups = Table('backups', meta, autoload=True) - backups.drop_column('parent_id') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/023_add_instance_indexes.py b/trove/db/sqlalchemy/migrate_repo/versions/023_add_instance_indexes.py index d1195e014e..6a53eade02 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/023_add_instance_indexes.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/023_add_instance_indexes.py @@ -40,16 +40,3 @@ def upgrade(migrate_engine): deleted_idx.create() except OperationalError as e: logger.info(e) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - - instances = Table('instances', meta, autoload=True) - - tenant_id_idx = Index("instances_tenant_id", instances.c.tenant_id) - tenant_id_idx.drop() - - deleted_idx = Index("instances_deleted", instances.c.deleted) - deleted_idx.drop() diff --git a/trove/db/sqlalchemy/migrate_repo/versions/024_add_backup_indexes.py b/trove/db/sqlalchemy/migrate_repo/versions/024_add_backup_indexes.py index 22be0a7925..d4472a2014 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/024_add_backup_indexes.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/024_add_backup_indexes.py @@ -40,17 +40,3 @@ def upgrade(migrate_engine): backups_deleted_idx.create() except OperationalError as e: logger.info(e) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - - backups = Table('backups', meta, autoload=True) - backups_instance_id_idx = Index("backups_instance_id", - backups.c.instance_id) - backups_deleted_idx = Index("backups_deleted", backups.c.deleted) - - meta.bind = migrate_engine - backups_instance_id_idx.drop() - backups_deleted_idx.drop() diff --git a/trove/db/sqlalchemy/migrate_repo/versions/025_add_service_statuses_indexes.py b/trove/db/sqlalchemy/migrate_repo/versions/025_add_service_statuses_indexes.py index 62eefe8ad7..2f4d3e6e86 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/025_add_service_statuses_indexes.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/025_add_service_statuses_indexes.py @@ -33,12 +33,3 @@ def upgrade(migrate_engine): idx.create() except OperationalError as e: logger.info(e) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - - service_statuses = Table('service_statuses', meta, autoload=True) - idx = Index("service_statuses_instance_id", service_statuses.c.instance_id) - idx.drop() diff --git a/trove/db/sqlalchemy/migrate_repo/versions/026_datastore_versions_unique_fix.py b/trove/db/sqlalchemy/migrate_repo/versions/026_datastore_versions_unique_fix.py index 364b358456..f37337b18f 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/026_datastore_versions_unique_fix.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/026_datastore_versions_unique_fix.py @@ -41,10 +41,3 @@ def upgrade(migrate_engine): uc.drop() except (OperationalError, InternalError) as e: logger.info(e) - - -def downgrade(migrate_engine): - # we aren't going to recreate the index in this case for 2 reasons: - # 1. this column being unique was a bug in the first place - # 2. adding a unique index to a column that has duplicates will fail - pass diff --git a/trove/db/sqlalchemy/migrate_repo/versions/027_add_datastore_capabilities.py b/trove/db/sqlalchemy/migrate_repo/versions/027_add_datastore_capabilities.py index 233ad3c874..1daae101b0 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/027_add_datastore_capabilities.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/027_add_datastore_capabilities.py @@ -19,7 +19,6 @@ from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -54,8 +53,3 @@ def upgrade(migrate_engine): Table('datastores', meta, autoload=True) Table('datastore_versions', meta, autoload=True) create_tables([capabilities, capability_overrides]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([capability_overrides, capabilities]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/028_recreate_agent_heartbeat.py b/trove/db/sqlalchemy/migrate_repo/versions/028_recreate_agent_heartbeat.py index d869ee367c..2c4ea6d4fb 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/028_recreate_agent_heartbeat.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/028_recreate_agent_heartbeat.py @@ -53,30 +53,3 @@ def upgrade(migrate_engine): logger.warn(e) create_tables([new_agent_heartbeats]) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - - # new table with desired columns, indexes, and constraints - new_agent_heartbeats = Table('agent_heartbeats', meta, autoload=True) - - try: - drop_tables([new_agent_heartbeats]) - except OperationalError as e: - logger.warn("This table may have been dropped by some other means.") - logger.warn(e) - - # reset the migrate_engine - meta = MetaData() - meta.bind = migrate_engine - - # original table from migration 005_heartbeat.py - previous_agent_heartbeats = Table( - 'agent_heartbeats', meta, Column('id', String(36), primary_key=True, - nullable=False), - Column('instance_id', String(36), nullable=False), - Column('updated_at', DateTime()), extend_existing=True) - - create_tables([previous_agent_heartbeats]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py b/trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py index 6f37647126..c1156ba5c2 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py @@ -18,7 +18,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table -from trove.db.sqlalchemy import utils as db_utils def upgrade(migrate_engine): @@ -29,21 +28,3 @@ def upgrade(migrate_engine): datastore_version_id = Column('datastore_version_id', String(36), ForeignKey('datastore_versions.id')) backups.create_column(datastore_version_id) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - backups = Table('backups', meta, autoload=True) - datastore_versions = Table('datastore_versions', meta, autoload=True) - constraint_names = db_utils.get_foreign_key_constraint_names( - engine=migrate_engine, - table='backups', - columns=['datastore_version_id'], - ref_table='datastore_versions', - ref_columns=['id']) - db_utils.drop_foreign_key_constraints( - constraint_names=constraint_names, - columns=[backups.c.datastore_version_id], - ref_columns=[datastore_versions.c.id]) - backups.drop_column('datastore_version_id') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py b/trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py index d031d167d5..6db24cd665 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py @@ -18,7 +18,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table -from trove.db.sqlalchemy import utils as db_utils COLUMN_NAME = 'slave_of_id' @@ -31,20 +30,3 @@ def upgrade(migrate_engine): instances.create_column( Column(COLUMN_NAME, String(36), ForeignKey('instances.id')), nullable=True) - - -def downgrade(migrate_engine): - meta = MetaData() - meta.bind = migrate_engine - instances = Table('instances', meta, autoload=True) - constraint_names = db_utils.get_foreign_key_constraint_names( - engine=migrate_engine, - table='instances', - columns=[COLUMN_NAME], - ref_table='instances', - ref_columns=['id']) - db_utils.drop_foreign_key_constraints( - constraint_names=constraint_names, - columns=[instances.c.slave_of_id], - ref_columns=[instances.c.id]) - instances.drop_column(COLUMN_NAME) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py b/trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py index 4afd19f0a1..6f90ccf888 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py @@ -26,10 +26,3 @@ def upgrade(migrate_engine): updated = Column('updated', DateTime()) configurations.create_column(created) configurations.create_column(updated) - - -def downgrade(migrate_engine): - meta = MetaData(bind=migrate_engine) - configurations = Table('configurations', meta, autoload=True) - configurations.drop_column('created') - configurations.drop_column('updated') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py b/trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py index 1516906b89..bfbc91f403 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py @@ -21,11 +21,9 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import Integer from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table -from trove.db.sqlalchemy import utils as db_utils meta = MetaData() @@ -59,37 +57,3 @@ def upgrade(migrate_engine): instances.create_column(Column('type', String(64))) cluster_id_idx = Index("instances_cluster_id", instances.c.cluster_id) cluster_id_idx.create() - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - - datastore_versions = Table('datastore_versions', meta, autoload=True) - constraint_names = db_utils.get_foreign_key_constraint_names( - engine=migrate_engine, - table='clusters', - columns=['datastore_version_id'], - ref_table='datastore_versions', - ref_columns=['id']) - db_utils.drop_foreign_key_constraints( - constraint_names=constraint_names, - columns=[clusters.c.datastore_version_id], - ref_columns=[datastore_versions.c.id]) - - instances = Table('instances', meta, autoload=True) - constraint_names = db_utils.get_foreign_key_constraint_names( - engine=migrate_engine, - table='instances', - columns=['cluster_id'], - ref_table='clusters', - ref_columns=['id']) - db_utils.drop_foreign_key_constraints( - constraint_names=constraint_names, - columns=[instances.c.cluster_id], - ref_columns=[clusters.c.id]) - - instances.drop_column('cluster_id') - instances.drop_column('shard_id') - instances.drop_column('type') - - drop_tables([clusters]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/033_datastore_parameters.py b/trove/db/sqlalchemy/migrate_repo/versions/033_datastore_parameters.py index c88d807c34..bee56629a2 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/033_datastore_parameters.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/033_datastore_parameters.py @@ -21,7 +21,6 @@ from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -53,8 +52,3 @@ def upgrade(migrate_engine): meta.bind = migrate_engine Table('datastore_versions', meta, autoload=True) create_tables([datastore_configuration_parameters]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([datastore_configuration_parameters]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/034_change_task_description.py b/trove/db/sqlalchemy/migrate_repo/versions/034_change_task_description.py index e96e9d8588..7fc4b18180 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/034_change_task_description.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/034_change_task_description.py @@ -23,7 +23,3 @@ def upgrade(migrate_engine): meta.bind = migrate_engine instances = Table('instances', meta, autoload=True) instances.c.task_description.alter(type=String(255)) - - -def downgrade(migrate_engine): - pass diff --git a/trove/db/sqlalchemy/migrate_repo/versions/035_flavor_id_int_to_string.py b/trove/db/sqlalchemy/migrate_repo/versions/035_flavor_id_int_to_string.py index 3a40bc8813..3c46190586 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/035_flavor_id_int_to_string.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/035_flavor_id_int_to_string.py @@ -15,7 +15,6 @@ from sqlalchemy.schema import MetaData -from trove.db.sqlalchemy.migrate_repo.schema import Integer from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -27,9 +26,3 @@ def upgrade(migrate_engine): meta.bind = migrate_engine instances = Table('instances', meta, autoload=True) instances.c.flavor_id.alter(String(255)) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - instances = Table('instances', meta, autoload=True) - instances.c.flavor_id.alter(Integer()) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/036_add_datastore_version_metadata.py b/trove/db/sqlalchemy/migrate_repo/versions/036_add_datastore_version_metadata.py index cad5148677..e98674a2eb 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/036_add_datastore_version_metadata.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/036_add_datastore_version_metadata.py @@ -21,7 +21,6 @@ from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table @@ -54,8 +53,3 @@ def upgrade(migrate_engine): # creates datastore_version_metadata table Table('datastore_versions', meta, autoload=True) create_tables([datastore_version_metadata]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([datastore_version_metadata]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/037_modules.py b/trove/db/sqlalchemy/migrate_repo/versions/037_modules.py index b3d61e0031..ad264bf43f 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/037_modules.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/037_modules.py @@ -22,7 +22,6 @@ from sqlalchemy.schema import UniqueConstraint from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Text @@ -77,8 +76,3 @@ def upgrade(migrate_engine): meta.bind = migrate_engine Table('instances', meta, autoload=True) create_tables([modules, instance_modules]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([instance_modules, modules]) diff --git a/trove/db/sqlalchemy/migrate_repo/versions/038_instance_faults.py b/trove/db/sqlalchemy/migrate_repo/versions/038_instance_faults.py index 49b4570cf0..fe3411431b 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/038_instance_faults.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/038_instance_faults.py @@ -21,7 +21,6 @@ from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime -from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Text @@ -49,8 +48,3 @@ def upgrade(migrate_engine): meta.bind = migrate_engine Table('instances', meta, autoload=True) create_tables([instance_faults]) - - -def downgrade(migrate_engine): - meta.bind = migrate_engine - drop_tables([instance_faults]) diff --git a/trove/db/sqlalchemy/migration.py b/trove/db/sqlalchemy/migration.py index 134226a882..84b42518ec 100644 --- a/trove/db/sqlalchemy/migration.py +++ b/trove/db/sqlalchemy/migration.py @@ -64,22 +64,6 @@ def upgrade(options, version=None, repo_path=None): return versioning_api.upgrade(sql_connection, repo_path, version) -def downgrade(options, version, repo_path=None): - """Downgrade the database's current migration level. - - :param options: options dict - :param version: version to downgrade to - :retval version number - - """ - db_version(options, repo_path) # Ensure db is under migration control - repo_path = get_migrate_repo_path(repo_path) - sql_connection = options['database']['connection'] - logger.info("Downgrading %(sql_connection)s to version %(version)s" % - {'sql_connection': sql_connection, 'version': version}) - return versioning_api.downgrade(sql_connection, repo_path, version) - - def version_control(options, repo_path=None): """Place a database under migration control. diff --git a/trove/tests/db/migrations.py b/trove/tests/db/migrations.py index f3cbc442b7..a85fc0b601 100644 --- a/trove/tests/db/migrations.py +++ b/trove/tests/db/migrations.py @@ -56,25 +56,22 @@ class ProjectTestCase(object): py_glob = os.path.join(topdir, "trove", "db", "sqlalchemy", "migrate_repo", "versions", "*.py") - missing_downgrade = [] + downgrades_found = [] for path in glob.iglob(py_glob): - has_upgrade = False has_downgrade = False with open(path, "r") as f: for line in f: - if 'def upgrade(' in line: - has_upgrade = True if 'def downgrade(' in line: has_downgrade = True - if has_upgrade and not has_downgrade: + if has_downgrade: fname = os.path.basename(path) - missing_downgrade.append(fname) + downgrades_found.append(fname) - helpful_msg = (_("The following migration scripts are missing a " + helpful_msg = (_("The following migration scripts have a " "downgrade implementation:\n\t%s") % - '\n\t'.join(sorted(missing_downgrade))) - assert_true(not missing_downgrade, helpful_msg) + '\n\t'.join(sorted(downgrades_found))) + assert_equal(downgrades_found, [], helpful_msg) @test(depends_on_classes=[ProjectTestCase], @@ -171,10 +168,7 @@ class TestTroveMigrations(object): """Walk through and test the migration scripts Determine latest version script from the repo, then - upgrade from 1 through to the latest, then downgrade from - the latest back to 1, with no data in the databases. This - just checks that the schema itself upgrades and downgrades - successfully. + upgrade from 1 through to the latest. """ # Place the database under version control migration_api.version_control(engine, self.REPOSITORY, @@ -185,26 +179,9 @@ class TestTroveMigrations(object): LOG.debug('Latest version is %s' % self.REPOSITORY.latest) versions = range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1) - # Snake walk from version 1 to the latest, testing the upgrade paths. - # upgrade -> downgrade -> upgrade + # Walk from version 1 to the latest, testing the upgrade paths. for version in versions: self._migrate_up(engine, version) - self._migrate_down(engine, version - 1) - self._migrate_up(engine, version) - - # Now snake walk back down to version 1 from the latest, testing the - # downgrade paths. - # downgrade -> upgrade -> downgrade - for version in reversed(versions): - self._migrate_down(engine, version - 1) - self._migrate_up(engine, version) - self._migrate_down(engine, version - 1) - - def _migrate_down(self, engine, version): - """Migrate down to an old version of database.""" - migration_api.downgrade(engine, self.REPOSITORY, version) - assert_equal(version, - migration_api.db_version(engine, self.REPOSITORY)) def _migrate_up(self, engine, version): """Migrate up to a new version of database."""