diff --git a/glance/registry/db/migrate_repo/schema.py b/glance/registry/db/migrate_repo/schema.py index a47fbf9eab..1df6438c60 100644 --- a/glance/registry/db/migrate_repo/schema.py +++ b/glance/registry/db/migrate_repo/schema.py @@ -19,9 +19,15 @@ Various conveniences used for migration scripts """ +import logging + import sqlalchemy.types from sqlalchemy.schema import MetaData + +logger = logging.getLogger('glance.registry.db.migrate_repo.schema') + + String = lambda length: sqlalchemy.types.String( length=length, convert_unicode=False, assert_unicode=None, unicode_error=None, _warn_on_bytestring=False) @@ -42,3 +48,16 @@ Integer = lambda: sqlalchemy.types.Integer() meta = MetaData() + + +def create_tables(tables): + for table in tables: + logger.info("creating table %(table)s" % locals()) + table.create() + + +def drop_tables(tables): + for table in tables: + logger.info("dropping table %(table)s" % locals()) + table.drop() + diff --git a/glance/registry/db/migrate_repo/versions/001_add_images_table.py b/glance/registry/db/migrate_repo/versions/001_add_images_table.py index d84a926d81..32dd6076b2 100644 --- a/glance/registry/db/migrate_repo/versions/001_add_images_table.py +++ b/glance/registry/db/migrate_repo/versions/001_add_images_table.py @@ -16,14 +16,16 @@ # under the License. import logging -from sqlalchemy.schema import (Column, MetaData, Table) +from sqlalchemy.schema import (Column, Table) from glance.registry.db.migrate_repo.schema import (Boolean, DateTime, Integer, String, Text, - meta) + meta, + create_tables, + drop_tables) def define_tables(): @@ -47,12 +49,10 @@ def define_tables(): def upgrade(migrate_engine): meta.bind = migrate_engine tables = define_tables() - for table in tables: - table.create() + create_tables(tables) def downgrade(migrate_engine): meta.bind = migrate_engine tables = define_tables() - for table in reversed(tables): - table.drop() + drop_tables(tables) diff --git a/glance/registry/db/migrate_repo/versions/002_add_image_properties_table.py b/glance/registry/db/migrate_repo/versions/002_add_image_properties_table.py index 815b03d3a2..9d62a7519c 100644 --- a/glance/registry/db/migrate_repo/versions/002_add_image_properties_table.py +++ b/glance/registry/db/migrate_repo/versions/002_add_image_properties_table.py @@ -16,15 +16,16 @@ # under the License. import logging -from sqlalchemy.schema import (Column, ForeignKey, MetaData, Table, - UniqueConstraint) +from sqlalchemy.schema import (Column, ForeignKey, Table, UniqueConstraint) from glance.registry.db.migrate_repo.schema import (Boolean, DateTime, Integer, String, Text, - meta) + meta, + create_tables, + drop_tables) def define_tables(): @@ -46,12 +47,10 @@ def define_tables(): def upgrade(migrate_engine): meta.bind = migrate_engine tables = define_tables() - for table in tables: - table.create() + create_tables(tables) def downgrade(migrate_engine): meta.bind = migrate_engine tables = define_tables() - for table in reversed(tables): - table.drop() + drop_tables(tables)