diff options
author | Boris Bobrov <bbobrov@mirantis.com> | 2015-08-20 13:51:54 +0300 |
---|---|---|
committer | Boris Bobrov <bbobrov@mirantis.com> | 2015-08-20 14:41:14 +0300 |
commit | b843f049f39251c46f57df2b0da3fdc1ec923ef0 (patch) | |
tree | cd0bb24d0ea2e80925d7d1b086d62028b20c8ce8 /oslo_db/sqlalchemy | |
parent | 4e83ad8299182d1e8a1b0600c0722d4754180487 (diff) | |
download | oslo-db-b843f049f39251c46f57df2b0da3fdc1ec923ef0.tar.gz |
Assume relative revisions belong to alembic
migration_cli alembic plugin returned that it doesn't know anything
about relative revisions. This cause the situation when one could not
perform relative upgrades or downgrades.
Change-Id: I3c0eddf75d4a8c91c7a23c6fbad947900ec0ac94
Closes-Bug: 1486790
Diffstat (limited to 'oslo_db/sqlalchemy')
-rw-r--r-- | oslo_db/sqlalchemy/migration_cli/ext_alembic.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/oslo_db/sqlalchemy/migration_cli/ext_alembic.py b/oslo_db/sqlalchemy/migration_cli/ext_alembic.py index 825c638..2fb9583 100644 --- a/oslo_db/sqlalchemy/migration_cli/ext_alembic.py +++ b/oslo_db/sqlalchemy/migration_cli/ext_alembic.py @@ -94,6 +94,15 @@ class AlembicExtension(ext_base.MigrationExtensionBase): def has_revision(self, rev_id): if rev_id in ['base', 'head']: return True + + # Although alembic supports relative upgrades and downgrades, + # get_revision always returns False for relative revisions. + # Since only alembic supports relative revisions, assume the + # revision belongs to this plugin. + if rev_id: # rev_id can be None, so the check is required + if '-' in rev_id or '+' in rev_id: + return True + script = alembic_script.ScriptDirectory( self.config.get_main_option('alembic_repo_path')) try: |