changeset 8296:e98f6338829c

hg: fix db migration after 802fdeefc8cc - index name changed in 1a080d4e926e
author Mads Kiilerich <mads@kiilerich.com>
date Tue, 17 Mar 2020 00:16:52 +0100
parents 8d663d23ab85
children 2fa9f497faac
files kallithea/alembic/versions/a0a1bf09c143_db_add_ui_composite_index_and_drop_.py
diffstat 1 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/alembic/versions/a0a1bf09c143_db_add_ui_composite_index_and_drop_.py	Thu Mar 12 23:21:01 2020 +0100
+++ b/kallithea/alembic/versions/a0a1bf09c143_db_add_ui_composite_index_and_drop_.py	Tue Mar 17 00:16:52 2020 +0100
@@ -26,13 +26,20 @@
 branch_labels = None
 depends_on = None
 
+import sqlalchemy as sa
 from alembic import op
 
 
 def upgrade():
+    meta = sa.MetaData()
+    meta.reflect(bind=op.get_bind())
+
     with op.batch_alter_table('ui', schema=None) as batch_op:
         batch_op.create_index('ui_ui_section_ui_key_idx', ['ui_section', 'ui_key'], unique=False)
-        batch_op.drop_constraint('uq_ui_ui_key', type_='unique')
+        if any(i.name == 'uq_ui_ui_key' for i in meta.tables['ui'].constraints):
+            batch_op.drop_constraint('uq_ui_ui_key', type_='unique')
+        elif any(i.name == 'ui_ui_key_key' for i in meta.tables['ui'].constraints):  # table was created with old naming before 1a080d4e926e
+            batch_op.drop_constraint('ui_ui_key_key', type_='unique')
 
 
 def downgrade():