Merge "Remove downgrade"

This commit is contained in:
Jenkins 2016-11-01 23:05:14 +00:00 committed by Gerrit Code Review
commit 8b98c51708
43 changed files with 10 additions and 654 deletions

View File

@ -519,84 +519,42 @@
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/007_add_volume_flavor.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py",
"E1101", "E1101",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/008_add_instance_fields.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py",
"E1101", "E1101",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/009_add_deleted_flag_to_instances.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py",
"E1101", "E1101",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py",
"E1120", "E1120",
@ -609,120 +567,54 @@
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/015_add_service_type.py",
"no-value-for-parameter", "no-value-for-parameter",
"No value for argument 'dml' in method call", "No value for argument 'dml' in method call",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py",
"E1101", "E1101",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py",
"E1101", "E1101",
"Instance of 'Table' has no 'drop_column' member", "Instance of 'Table' has no 'drop_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/016_add_datastore_type.py",
"no-member", "no-member",
"Instance of 'Table' has no 'drop_column' member", "Instance of 'Table' has no 'drop_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py",
"E1101", "E1101",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py",
"E1101", "E1101",
"Instance of 'Table' has no 'drop_column' member", "Instance of 'Table' has no 'drop_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/017_update_datastores.py",
"no-member", "no-member",
@ -735,144 +627,72 @@
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py",
"E1101", "E1101",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/022_add_backup_parent_id.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py",
"E1101", "E1101",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/029_add_backup_datastore.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py",
"E1101", "E1101",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/030_add_master_slave.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py",
"E1101", "E1101",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/031_add_timestamps_to_configurations.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py",
"E1101", "E1101",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py",
"no-member", "no-member",
"Instance of 'Table' has no 'create_column' member", "Instance of 'Table' has no 'create_column' member",
"upgrade" "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", "trove/db/sqlalchemy/migration.py",
"E0611", "E0611",

View File

@ -22,7 +22,6 @@ gettext.install('trove', unicode=1)
from oslo_log import log as logging from oslo_log import log as logging
from oslo_log.versionutils import deprecated
from trove.common import cfg from trove.common import cfg
from trove.common import exception from trove.common import exception
@ -47,9 +46,8 @@ class Commands(object):
def db_upgrade(self, version=None, repo_path=None): def db_upgrade(self, version=None, repo_path=None):
self.db_api.db_upgrade(CONF, version, repo_path=repo_path) self.db_api.db_upgrade(CONF, version, repo_path=repo_path)
@deprecated(as_of=deprecated.MITAKA)
def db_downgrade(self, version, repo_path=None): 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): def execute(self):
exec_method = getattr(self, CONF.action.name) exec_method = getattr(self, CONF.action.name)
@ -140,12 +138,6 @@ def main():
'latest version.') 'latest version.')
parser.add_argument('--repo_path', help=repo_path_help) 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( parser = subparser.add_parser(
'datastore_update', description='Add or update a datastore. ' 'datastore_update', description='Add or update a datastore. '
'If the datastore already exists, the default version will be ' 'If the datastore already exists, the default version will be '

View File

@ -107,10 +107,6 @@ def db_upgrade(options, version=None, repo_path=None):
migration.upgrade(options, version, repo_path) 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): def db_reset(options, *plugins):
drop_db(options) drop_db(options)
db_sync(options) db_sync(options)

View File

@ -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 create_tables
from trove.db.sqlalchemy.migrate_repo.schema import DateTime 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 Integer
from trove.db.sqlalchemy.migrate_repo.schema import String 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 Table
@ -44,8 +43,3 @@ instances = Table(
def upgrade(migrate_engine): def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
create_tables([instances]) create_tables([instances])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([instances])

View File

@ -17,7 +17,6 @@ from sqlalchemy.schema import Column
from sqlalchemy.schema import MetaData from sqlalchemy.schema import MetaData
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
@ -35,8 +34,3 @@ service_images = Table(
def upgrade(migrate_engine): def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
create_tables([service_images]) create_tables([service_images])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([service_images])

View File

@ -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 create_tables
from trove.db.sqlalchemy.migrate_repo.schema import DateTime 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 Integer
from trove.db.sqlalchemy.migrate_repo.schema import String 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 Table
@ -39,8 +38,3 @@ service_statuses = Table(
def upgrade(migrate_engine): def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
create_tables([service_statuses]) create_tables([service_statuses])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([service_statuses])

View File

@ -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 create_tables
from trove.db.sqlalchemy.migrate_repo.schema import DateTime 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
@ -37,8 +36,3 @@ root_enabled_history = Table(
def upgrade(migrate_engine): def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
create_tables([root_enabled_history]) create_tables([root_enabled_history])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([root_enabled_history])

View File

@ -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 create_tables
from trove.db.sqlalchemy.migrate_repo.schema import DateTime 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
@ -36,8 +35,3 @@ agent_heartbeats = Table(
def upgrade(migrate_engine): def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
create_tables([agent_heartbeats]) create_tables([agent_heartbeats])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([agent_heartbeats])

View File

@ -17,7 +17,6 @@ from sqlalchemy.schema import Column
from sqlalchemy.schema import MetaData from sqlalchemy.schema import MetaData
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
@ -34,8 +33,3 @@ dns_records = Table(
def upgrade(migrate_engine): def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
create_tables([dns_records]) create_tables([dns_records])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([dns_records])

View File

@ -31,14 +31,3 @@ def upgrade(migrate_engine):
instances.create_column(flavor_id) instances.create_column(flavor_id)
instances.create_column(volume_size) 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')

View File

@ -27,14 +27,3 @@ def upgrade(migrate_engine):
instances = Table('instances', meta, autoload=True) instances = Table('instances', meta, autoload=True)
instances.create_column(Column('tenant_id', String(36), nullable=True)) instances.create_column(Column('tenant_id', String(36), nullable=True))
instances.create_column(Column('server_status', String(64))) 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')

View File

@ -28,13 +28,3 @@ def upgrade(migrate_engine):
instances = Table('instances', meta, autoload=True) instances = Table('instances', meta, autoload=True)
instances.create_column(Column('deleted', Boolean())) instances.create_column(Column('deleted', Boolean()))
instances.create_column(Column('deleted_at', DateTime())) 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')

View File

@ -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 create_tables
from trove.db.sqlalchemy.migrate_repo.schema import DateTime 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 Integer
from trove.db.sqlalchemy.migrate_repo.schema import String 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 Table
@ -44,8 +43,3 @@ usage_events = Table(
def upgrade(migrate_engine): def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
create_tables([usage_events]) create_tables([usage_events])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([usage_events])

View File

@ -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 create_tables
from trove.db.sqlalchemy.migrate_repo.schema import DateTime 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 Integer
from trove.db.sqlalchemy.migrate_repo.schema import String 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 Table
@ -60,8 +59,3 @@ reservations = Table('reservations', meta,
def upgrade(migrate_engine): def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
create_tables([quotas, quota_usages, reservations]) create_tables([quotas, quota_usages, reservations])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([quotas, quota_usages, reservations])

View File

@ -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 Boolean
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 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 Float
from trove.db.sqlalchemy.migrate_repo.schema import String 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 Table
@ -46,8 +45,3 @@ backups = Table('backups', meta,
def upgrade(migrate_engine): def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
create_tables([backups, ]) create_tables([backups, ])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([backups, ])

View File

@ -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 Boolean
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 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 Integer
from trove.db.sqlalchemy.migrate_repo.schema import String 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 Table
@ -88,9 +87,3 @@ def upgrade(migrate_engine):
) )
create_tables([security_groups, security_group_rules, create_tables([security_groups, security_group_rules,
security_group_instance_associations]) security_group_instance_associations])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([security_group_instance_associations,
security_group_rules, security_groups])

View File

@ -15,7 +15,6 @@
from sqlalchemy.schema import MetaData from sqlalchemy.schema import MetaData
from trove.db.sqlalchemy.migrate_repo.schema import Integer 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.migrate_repo.schema import Table
@ -33,13 +32,3 @@ def upgrade(migrate_engine):
instances = Table('instances', meta, autoload=True) instances = Table('instances', meta, autoload=True)
# modify column # modify column
instances.c.flavor_id.alter(type=Integer()) 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))

View File

@ -26,11 +26,3 @@ def upgrade(migrate_engine):
service_type = Column('service_type', String(36)) service_type = Column('service_type', String(36))
instances.create_column(service_type) instances.create_column(service_type)
instances.update().values({'service_type': 'mysql'}).execute() 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')

View File

@ -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 Boolean
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
from trove.db.sqlalchemy import utils as db_utils
meta = MetaData() meta = MetaData()
@ -62,23 +60,3 @@ def upgrade(migrate_engine):
# Table 'service_images' is deprecated since this version. # Table 'service_images' is deprecated since this version.
# Leave it for few releases. # Leave it for few releases.
# drop_tables([service_images]) # 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])

View File

@ -46,18 +46,3 @@ def upgrade(migrate_engine):
# drop column from datastores # drop column from datastores
datastores.drop_column('manager') 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)

View File

@ -23,11 +23,3 @@ def upgrade(migrate_engine):
datastore_versions = Table('datastore_versions', meta, autoload=True) datastore_versions = Table('datastore_versions', meta, autoload=True)
# modify column # modify column
datastore_versions.c.name.alter(unique=False) 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)

View File

@ -13,7 +13,6 @@
# under the License. # under the License.
from sqlalchemy.schema import MetaData from sqlalchemy.schema import MetaData
from sqlalchemy.sql.expression import delete
from sqlalchemy.sql.expression import insert from sqlalchemy.sql.expression import insert
from sqlalchemy.sql.expression import select from sqlalchemy.sql.expression import select
from sqlalchemy.sql.expression import update from sqlalchemy.sql.expression import update
@ -129,33 +128,3 @@ def upgrade(migrate_engine):
constraint_names=constraint_names, constraint_names=constraint_names,
columns=[instance_table.c.datastore_version_id], columns=[instance_table.c.datastore_version_id],
ref_columns=[datastore_versions_table.c.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()

View File

@ -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 Boolean
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
from trove.db.sqlalchemy import utils as db_utils
meta = MetaData() meta = MetaData()
@ -59,20 +57,3 @@ def upgrade(migrate_engine):
instances = Table('instances', meta, autoload=True) instances = Table('instances', meta, autoload=True)
instances.create_column(Column('configuration_id', String(36), instances.create_column(Column('configuration_id', String(36),
ForeignKey("configurations.id"))) 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])

View File

@ -16,7 +16,6 @@ from sqlalchemy.schema import Column
from sqlalchemy.schema import MetaData from sqlalchemy.schema import MetaData
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 Float
from trove.db.sqlalchemy.migrate_repo.schema import String 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 Table
@ -34,8 +33,3 @@ conductor_lastseen = Table(
def upgrade(migrate_engine): def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
create_tables([conductor_lastseen]) create_tables([conductor_lastseen])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([conductor_lastseen])

View File

@ -26,12 +26,3 @@ def upgrade(migrate_engine):
# add column: # add column:
backups = Table('backups', meta, autoload=True) backups = Table('backups', meta, autoload=True)
backups.create_column(Column('parent_id', String(36), nullable=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')

View File

@ -40,16 +40,3 @@ def upgrade(migrate_engine):
deleted_idx.create() deleted_idx.create()
except OperationalError as e: except OperationalError as e:
logger.info(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()

View File

@ -40,17 +40,3 @@ def upgrade(migrate_engine):
backups_deleted_idx.create() backups_deleted_idx.create()
except OperationalError as e: except OperationalError as e:
logger.info(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()

View File

@ -33,12 +33,3 @@ def upgrade(migrate_engine):
idx.create() idx.create()
except OperationalError as e: except OperationalError as e:
logger.info(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()

View File

@ -41,10 +41,3 @@ def upgrade(migrate_engine):
uc.drop() uc.drop()
except (OperationalError, InternalError) as e: except (OperationalError, InternalError) as e:
logger.info(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

View File

@ -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 Boolean
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
@ -54,8 +53,3 @@ def upgrade(migrate_engine):
Table('datastores', meta, autoload=True) Table('datastores', meta, autoload=True)
Table('datastore_versions', meta, autoload=True) Table('datastore_versions', meta, autoload=True)
create_tables([capabilities, capability_overrides]) create_tables([capabilities, capability_overrides])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([capability_overrides, capabilities])

View File

@ -53,30 +53,3 @@ def upgrade(migrate_engine):
logger.warn(e) logger.warn(e)
create_tables([new_agent_heartbeats]) 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])

View File

@ -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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
from trove.db.sqlalchemy import utils as db_utils
def upgrade(migrate_engine): def upgrade(migrate_engine):
@ -29,21 +28,3 @@ def upgrade(migrate_engine):
datastore_version_id = Column('datastore_version_id', String(36), datastore_version_id = Column('datastore_version_id', String(36),
ForeignKey('datastore_versions.id')) ForeignKey('datastore_versions.id'))
backups.create_column(datastore_version_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')

View File

@ -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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
from trove.db.sqlalchemy import utils as db_utils
COLUMN_NAME = 'slave_of_id' COLUMN_NAME = 'slave_of_id'
@ -31,20 +30,3 @@ def upgrade(migrate_engine):
instances.create_column( instances.create_column(
Column(COLUMN_NAME, String(36), ForeignKey('instances.id')), Column(COLUMN_NAME, String(36), ForeignKey('instances.id')),
nullable=True) 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)

View File

@ -26,10 +26,3 @@ def upgrade(migrate_engine):
updated = Column('updated', DateTime()) updated = Column('updated', DateTime())
configurations.create_column(created) configurations.create_column(created)
configurations.create_column(updated) 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')

View File

@ -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 Boolean
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 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 Integer
from trove.db.sqlalchemy.migrate_repo.schema import String 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 Table
from trove.db.sqlalchemy import utils as db_utils
meta = MetaData() meta = MetaData()
@ -59,37 +57,3 @@ def upgrade(migrate_engine):
instances.create_column(Column('type', String(64))) instances.create_column(Column('type', String(64)))
cluster_id_idx = Index("instances_cluster_id", instances.c.cluster_id) cluster_id_idx = Index("instances_cluster_id", instances.c.cluster_id)
cluster_id_idx.create() 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])

View File

@ -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 Boolean
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
@ -53,8 +52,3 @@ def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
Table('datastore_versions', meta, autoload=True) Table('datastore_versions', meta, autoload=True)
create_tables([datastore_configuration_parameters]) create_tables([datastore_configuration_parameters])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([datastore_configuration_parameters])

View File

@ -23,7 +23,3 @@ def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
instances = Table('instances', meta, autoload=True) instances = Table('instances', meta, autoload=True)
instances.c.task_description.alter(type=String(255)) instances.c.task_description.alter(type=String(255))
def downgrade(migrate_engine):
pass

View File

@ -15,7 +15,6 @@
from sqlalchemy.schema import MetaData 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
@ -27,9 +26,3 @@ def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
instances = Table('instances', meta, autoload=True) instances = Table('instances', meta, autoload=True)
instances.c.flavor_id.alter(String(255)) 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())

View File

@ -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 Boolean
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
@ -54,8 +53,3 @@ def upgrade(migrate_engine):
# creates datastore_version_metadata table # creates datastore_version_metadata table
Table('datastore_versions', meta, autoload=True) Table('datastore_versions', meta, autoload=True)
create_tables([datastore_version_metadata]) create_tables([datastore_version_metadata])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([datastore_version_metadata])

View File

@ -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 Boolean
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
from trove.db.sqlalchemy.migrate_repo.schema import Text from trove.db.sqlalchemy.migrate_repo.schema import Text
@ -77,8 +76,3 @@ def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
Table('instances', meta, autoload=True) Table('instances', meta, autoload=True)
create_tables([modules, instance_modules]) create_tables([modules, instance_modules])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([instance_modules, modules])

View File

@ -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 Boolean
from trove.db.sqlalchemy.migrate_repo.schema import create_tables 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 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 String
from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy.migrate_repo.schema import Table
from trove.db.sqlalchemy.migrate_repo.schema import Text from trove.db.sqlalchemy.migrate_repo.schema import Text
@ -49,8 +48,3 @@ def upgrade(migrate_engine):
meta.bind = migrate_engine meta.bind = migrate_engine
Table('instances', meta, autoload=True) Table('instances', meta, autoload=True)
create_tables([instance_faults]) create_tables([instance_faults])
def downgrade(migrate_engine):
meta.bind = migrate_engine
drop_tables([instance_faults])

View File

@ -64,22 +64,6 @@ def upgrade(options, version=None, repo_path=None):
return versioning_api.upgrade(sql_connection, repo_path, version) 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): def version_control(options, repo_path=None):
"""Place a database under migration control. """Place a database under migration control.

View File

@ -56,25 +56,22 @@ class ProjectTestCase(object):
py_glob = os.path.join(topdir, "trove", "db", "sqlalchemy", py_glob = os.path.join(topdir, "trove", "db", "sqlalchemy",
"migrate_repo", "versions", "*.py") "migrate_repo", "versions", "*.py")
missing_downgrade = [] downgrades_found = []
for path in glob.iglob(py_glob): for path in glob.iglob(py_glob):
has_upgrade = False
has_downgrade = False has_downgrade = False
with open(path, "r") as f: with open(path, "r") as f:
for line in f: for line in f:
if 'def upgrade(' in line:
has_upgrade = True
if 'def downgrade(' in line: if 'def downgrade(' in line:
has_downgrade = True has_downgrade = True
if has_upgrade and not has_downgrade: if has_downgrade:
fname = os.path.basename(path) 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") % "downgrade implementation:\n\t%s") %
'\n\t'.join(sorted(missing_downgrade))) '\n\t'.join(sorted(downgrades_found)))
assert_true(not missing_downgrade, helpful_msg) assert_equal(downgrades_found, [], helpful_msg)
@test(depends_on_classes=[ProjectTestCase], @test(depends_on_classes=[ProjectTestCase],
@ -171,10 +168,7 @@ class TestTroveMigrations(object):
"""Walk through and test the migration scripts """Walk through and test the migration scripts
Determine latest version script from the repo, then Determine latest version script from the repo, then
upgrade from 1 through to the latest, then downgrade from upgrade from 1 through to the latest.
the latest back to 1, with no data in the databases. This
just checks that the schema itself upgrades and downgrades
successfully.
""" """
# Place the database under version control # Place the database under version control
migration_api.version_control(engine, self.REPOSITORY, migration_api.version_control(engine, self.REPOSITORY,
@ -185,26 +179,9 @@ class TestTroveMigrations(object):
LOG.debug('Latest version is %s' % self.REPOSITORY.latest) LOG.debug('Latest version is %s' % self.REPOSITORY.latest)
versions = range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1) versions = range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1)
# Snake walk from version 1 to the latest, testing the upgrade paths. # Walk from version 1 to the latest, testing the upgrade paths.
# upgrade -> downgrade -> upgrade
for version in versions: for version in versions:
self._migrate_up(engine, version) 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): def _migrate_up(self, engine, version):
"""Migrate up to a new version of database.""" """Migrate up to a new version of database."""