From bcf225daf4f265a052d71955abff19317ab3cc98 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Sat, 13 Feb 2021 17:04:31 +0000 Subject: [PATCH] db: Move main DB migrations We place these in a 'legacy_migrations' directory, as we will soon be adding alembic-based migrations in a 'migration' directory. Change-Id: Ib927e4c48f59a467a913875111ffbf64ffe0de90 Signed-off-by: Stephen Finucane --- doc/source/user/upgrade.rst | 2 +- .../legacy_migrations}/README | 0 .../legacy_migrations}/__init__.py | 0 .../legacy_migrations}/manage.py | 0 .../legacy_migrations}/migrate.cfg | 0 .../legacy_migrations}/versions/402_train.py | 0 .../versions/403_placeholder.py | 0 .../versions/404_placeholder.py | 0 .../versions/405_placeholder.py | 0 .../versions/406_placeholder.py | 0 .../versions/407_placeholder.py | 0 .../versions/408_placeholder.py | 0 .../versions/409_placeholder.py | 0 .../versions/410_placeholder.py | 0 .../versions/411_placeholder.py | 0 .../versions/412_placeholder.py | 0 .../versions/413_placeholder.py | 0 .../versions/414_placeholder.py | 0 .../versions/415_placeholder.py | 0 .../versions/416_placeholder.py | 0 .../versions/417_placeholder.py | 0 .../versions/418_placeholder.py | 0 .../versions/419_placeholder.py | 0 .../versions/420_placeholder.py | 0 .../versions/421_placeholder.py | 0 .../versions/422_placeholder.py | 0 .../legacy_migrations}/versions/__init__.py | 0 nova/db/migration.py | 2 +- nova/tests/unit/db/test_migrations.py | 15 ++++++++++----- tools/db/schema_diff.py | 2 +- tools/reserve-migrations.py | 2 +- 31 files changed, 14 insertions(+), 9 deletions(-) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/README (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/__init__.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/manage.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/migrate.cfg (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/402_train.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/403_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/404_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/405_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/406_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/407_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/408_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/409_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/410_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/411_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/412_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/413_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/414_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/415_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/416_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/417_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/418_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/419_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/420_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/421_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/422_placeholder.py (100%) rename nova/db/{sqlalchemy/migrate_repo => main/legacy_migrations}/versions/__init__.py (100%) diff --git a/doc/source/user/upgrade.rst b/doc/source/user/upgrade.rst index 91093d49a2ef..9ba36b738562 100644 --- a/doc/source/user/upgrade.rst +++ b/doc/source/user/upgrade.rst @@ -176,7 +176,7 @@ Schema Migrations '''''''''''''''''' Schema migrations are defined in -``nova/db/sqlalchemy/migrate_repo/versions`` and in +``nova/db/main/legacy_migrations/versions`` and in ``nova/db/sqlalchemy/api_migrations/migrate_repo/versions``. They are the routines that transform our database structure, which should be additive and able to be applied to a running system before service diff --git a/nova/db/sqlalchemy/migrate_repo/README b/nova/db/main/legacy_migrations/README similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/README rename to nova/db/main/legacy_migrations/README diff --git a/nova/db/sqlalchemy/migrate_repo/__init__.py b/nova/db/main/legacy_migrations/__init__.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/__init__.py rename to nova/db/main/legacy_migrations/__init__.py diff --git a/nova/db/sqlalchemy/migrate_repo/manage.py b/nova/db/main/legacy_migrations/manage.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/manage.py rename to nova/db/main/legacy_migrations/manage.py diff --git a/nova/db/sqlalchemy/migrate_repo/migrate.cfg b/nova/db/main/legacy_migrations/migrate.cfg similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/migrate.cfg rename to nova/db/main/legacy_migrations/migrate.cfg diff --git a/nova/db/sqlalchemy/migrate_repo/versions/402_train.py b/nova/db/main/legacy_migrations/versions/402_train.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/402_train.py rename to nova/db/main/legacy_migrations/versions/402_train.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/403_placeholder.py b/nova/db/main/legacy_migrations/versions/403_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/403_placeholder.py rename to nova/db/main/legacy_migrations/versions/403_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/404_placeholder.py b/nova/db/main/legacy_migrations/versions/404_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/404_placeholder.py rename to nova/db/main/legacy_migrations/versions/404_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/405_placeholder.py b/nova/db/main/legacy_migrations/versions/405_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/405_placeholder.py rename to nova/db/main/legacy_migrations/versions/405_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/406_placeholder.py b/nova/db/main/legacy_migrations/versions/406_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/406_placeholder.py rename to nova/db/main/legacy_migrations/versions/406_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/407_placeholder.py b/nova/db/main/legacy_migrations/versions/407_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/407_placeholder.py rename to nova/db/main/legacy_migrations/versions/407_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/408_placeholder.py b/nova/db/main/legacy_migrations/versions/408_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/408_placeholder.py rename to nova/db/main/legacy_migrations/versions/408_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/409_placeholder.py b/nova/db/main/legacy_migrations/versions/409_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/409_placeholder.py rename to nova/db/main/legacy_migrations/versions/409_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/410_placeholder.py b/nova/db/main/legacy_migrations/versions/410_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/410_placeholder.py rename to nova/db/main/legacy_migrations/versions/410_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/411_placeholder.py b/nova/db/main/legacy_migrations/versions/411_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/411_placeholder.py rename to nova/db/main/legacy_migrations/versions/411_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/412_placeholder.py b/nova/db/main/legacy_migrations/versions/412_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/412_placeholder.py rename to nova/db/main/legacy_migrations/versions/412_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/413_placeholder.py b/nova/db/main/legacy_migrations/versions/413_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/413_placeholder.py rename to nova/db/main/legacy_migrations/versions/413_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/414_placeholder.py b/nova/db/main/legacy_migrations/versions/414_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/414_placeholder.py rename to nova/db/main/legacy_migrations/versions/414_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/415_placeholder.py b/nova/db/main/legacy_migrations/versions/415_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/415_placeholder.py rename to nova/db/main/legacy_migrations/versions/415_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/416_placeholder.py b/nova/db/main/legacy_migrations/versions/416_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/416_placeholder.py rename to nova/db/main/legacy_migrations/versions/416_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/417_placeholder.py b/nova/db/main/legacy_migrations/versions/417_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/417_placeholder.py rename to nova/db/main/legacy_migrations/versions/417_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/418_placeholder.py b/nova/db/main/legacy_migrations/versions/418_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/418_placeholder.py rename to nova/db/main/legacy_migrations/versions/418_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/419_placeholder.py b/nova/db/main/legacy_migrations/versions/419_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/419_placeholder.py rename to nova/db/main/legacy_migrations/versions/419_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/420_placeholder.py b/nova/db/main/legacy_migrations/versions/420_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/420_placeholder.py rename to nova/db/main/legacy_migrations/versions/420_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/421_placeholder.py b/nova/db/main/legacy_migrations/versions/421_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/421_placeholder.py rename to nova/db/main/legacy_migrations/versions/421_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/422_placeholder.py b/nova/db/main/legacy_migrations/versions/422_placeholder.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/422_placeholder.py rename to nova/db/main/legacy_migrations/versions/422_placeholder.py diff --git a/nova/db/sqlalchemy/migrate_repo/versions/__init__.py b/nova/db/main/legacy_migrations/versions/__init__.py similarity index 100% rename from nova/db/sqlalchemy/migrate_repo/versions/__init__.py rename to nova/db/main/legacy_migrations/versions/__init__.py diff --git a/nova/db/migration.py b/nova/db/migration.py index c7a32423acf8..fa2294ca8b43 100644 --- a/nova/db/migration.py +++ b/nova/db/migration.py @@ -45,7 +45,7 @@ def get_engine(database='main', context=None): def find_migrate_repo(database='main'): """Get the path for the migrate repository.""" global _REPOSITORY - rel_path = os.path.join('sqlalchemy', 'migrate_repo') + rel_path = os.path.join('main', 'legacy_migrations') if database == 'api': rel_path = os.path.join('sqlalchemy', 'api_migrations', 'migrate_repo') path = os.path.join(os.path.abspath(os.path.dirname(__file__)), rel_path) diff --git a/nova/tests/unit/db/test_migrations.py b/nova/tests/unit/db/test_migrations.py index ef0642043468..5f7f2ef9d6a8 100644 --- a/nova/tests/unit/db/test_migrations.py +++ b/nova/tests/unit/db/test_migrations.py @@ -46,8 +46,8 @@ import sqlalchemy import sqlalchemy.exc import testtools +from nova.db.main import legacy_migrations from nova.db import migration -from nova.db.sqlalchemy import migrate_repo from nova.db.sqlalchemy import models from nova import test from nova.tests import fixtures as nova_fixtures @@ -73,7 +73,7 @@ class NovaMigrationsCheckers(test_migrations.ModelsMigrationsSync, @property def REPOSITORY(self): return repository.Repository( - os.path.abspath(os.path.dirname(migrate_repo.__file__))) + os.path.abspath(os.path.dirname(legacy_migrations.__file__))) @property def migration_api(self): @@ -272,9 +272,14 @@ class ProjectTestCase(test.NoDBTestCase): topdir = os.path.normpath(os.path.dirname(__file__) + '/../../../') # Walk both the nova_api and nova (cell) database migrations. includes_downgrade = [] - for subdir in ('api_migrations', ''): - py_glob = os.path.join(topdir, "db", "sqlalchemy", subdir, - "migrate_repo", "versions", "*.py") + for directory in ( + os.path.join(topdir, 'db', 'main', 'legacy_migrations'), + os.path.join( + topdir, 'db', 'sqlalchemy', 'api_migrations', + 'migrate_repo', + ), + ): + py_glob = os.path.join(directory, 'versions', '*.py') for path in glob.iglob(py_glob): has_upgrade = False has_downgrade = False diff --git a/tools/db/schema_diff.py b/tools/db/schema_diff.py index b309d26725cf..f6a4d5e6d725 100755 --- a/tools/db/schema_diff.py +++ b/tools/db/schema_diff.py @@ -126,7 +126,7 @@ def _get_db_driver_class(db_url): # Migrate -MIGRATE_REPO = os.path.join(os.getcwd(), "nova/db/sqlalchemy/migrate_repo") +MIGRATE_REPO = os.path.join(os.getcwd(), "nova/db/main/legacy_migrations") def _migrate(db_url, migration_version): diff --git a/tools/reserve-migrations.py b/tools/reserve-migrations.py index 8b35607da7a8..439eec611f77 100755 --- a/tools/reserve-migrations.py +++ b/tools/reserve-migrations.py @@ -5,7 +5,7 @@ import glob import os import subprocess -BASE = 'nova/db/sqlalchemy/migrate_repo/versions'.split('/') +BASE = 'nova/db/main/legacy_migrations/versions'.split('/') API_BASE = 'nova/db/sqlalchemy/api_migrations/migrate_repo/versions'.split('/') STUB = \