diff options
Diffstat (limited to 'oslo_db/sqlalchemy/migration_cli/ext_alembic.py')
-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 0348a37..a855321 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('script_location')) try: |