From 2ade649a8456c5dea38505f12656094db76e06f8 Mon Sep 17 00:00:00 2001 From: Matthew John <matthew@dockstudios.co.uk> Date: Sat, 25 Jun 2022 10:09:37 +0100 Subject: [PATCH] Update analaytics foreign key migration to use batch operationg to support sqlite. Add name to constraint to fix future migrations Issue #153 --- ...813feaeb_update_analaytics_to_perform_no_action_.py | 10 ++++++---- terrareg/database.py | 1 + 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/terrareg/alembic/versions/0776813feaeb_update_analaytics_to_perform_no_action_.py b/terrareg/alembic/versions/0776813feaeb_update_analaytics_to_perform_no_action_.py index cc0d1cec..5c417286 100644 --- a/terrareg/alembic/versions/0776813feaeb_update_analaytics_to_perform_no_action_.py +++ b/terrareg/alembic/versions/0776813feaeb_update_analaytics_to_perform_no_action_.py @@ -18,13 +18,15 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_constraint(None, 'analytics', type_='foreignkey') - op.create_foreign_key(None, 'analytics', 'module_version', ['parent_module_version'], ['id'], onupdate='CASCADE', ondelete='NO ACTION') + with op.batch_alter_table('analytics', schema=None) as batch_op: + batch_op.drop_constraint(None, type_='foreignkey') + batch_op.create_foreign_key('fk_analytics_parent_module_version_module_version_id', 'module_version', ['parent_module_version'], ['id'], onupdate='CASCADE', ondelete='NO ACTION') # ### end Alembic commands ### def downgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.drop_constraint(None, 'analytics', type_='foreignkey') - op.create_foreign_key(None, 'analytics', 'module_version', ['parent_module_version'], ['id'], onupdate='CASCADE', ondelete='CASCADE') + with op.batch_alter_table('analytics', schema=None) as batch_op: + batch_op.drop_constraint('fk_analytics_parent_module_version_module_version_id', type_='foreignkey') + batch_op.create_foreign_key(None, 'module_version', ['parent_module_version'], ['id'], onupdate='CASCADE', ondelete='CASCADE') # ### end Alembic commands ### diff --git a/terrareg/database.py b/terrareg/database.py index bb698721..ccb4cf08 100644 --- a/terrareg/database.py +++ b/terrareg/database.py @@ -225,6 +225,7 @@ class Database(): 'parent_module_version', sqlalchemy.ForeignKey( 'module_version.id', + name='fk_analytics_parent_module_version_module_version_id', onupdate='CASCADE', ondelete='NO ACTION'), nullable=False -- GitLab