diff --git a/app/models.py b/app/models.py index ddba7e158..5b34d868f 100644 --- a/app/models.py +++ b/app/models.py @@ -2324,7 +2324,6 @@ class BroadcastMessage(db.Model): stubbed = db.Column(db.Boolean, nullable=False) CheckConstraint("created_by_id is not null or created_by_api_key_id is not null") - CheckConstraint("cancelled_by_id is not null or cancelled_by_api_key_id is not null") @property def personalisation(self): diff --git a/migrations/versions/0363_cancelled_by_api_key.py b/migrations/versions/0363_cancelled_by_api_key.py index b9611e875..ef4e432e9 100644 --- a/migrations/versions/0363_cancelled_by_api_key.py +++ b/migrations/versions/0363_cancelled_by_api_key.py @@ -16,10 +16,29 @@ down_revision = '0362_broadcast_msg_event' def upgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('broadcast_message', sa.Column('created_by_api_key_id', postgresql.UUID(as_uuid=True), nullable=True)) - op.add_column('broadcast_message', sa.Column('cancelled_by_api_key_id', postgresql.UUID(as_uuid=True), nullable=True)) + op.add_column( + 'broadcast_message', sa.Column('cancelled_by_api_key_id', postgresql.UUID(as_uuid=True), nullable=True) + ) op.drop_constraint('broadcast_message_api_key_id_fkey', 'broadcast_message', type_='foreignkey') - op.create_foreign_key('broadcast_message_created_by_api_key_id_fkey', 'broadcast_message', 'api_keys', ['created_by_api_key_id'], ['id']) - op.create_foreign_key('broadcast_message_cancelled_by_api_key_id_fkey', 'broadcast_message', 'api_keys', ['cancelled_by_api_key_id'], ['id']) + op.create_foreign_key( + 'broadcast_message_created_by_api_key_id_fkey', + 'broadcast_message', + 'api_keys', + ['created_by_api_key_id'], + ['id'] + ) + op.create_foreign_key( + 'broadcast_message_cancelled_by_api_key_id_fkey', + 'broadcast_message', + 'api_keys', + ['cancelled_by_api_key_id'], + ['id'] + ) + op.create_check_constraint( + "ck_broadcast_message_created_by_not_null", + "broadcast_message", + "created_by_id is not null or created_by_api_key_id is not null" + ) op.get_bind() op.execute("UPDATE broadcast_message SET created_by_api_key_id=api_key_id") # move data over op.drop_column('broadcast_message', 'api_key_id') @@ -29,6 +48,10 @@ def upgrade(): def downgrade(): # ### commands auto generated by Alembic - please adjust! ### op.add_column('broadcast_message', sa.Column('api_key_id', postgresql.UUID(), autoincrement=False, nullable=True)) + op.drop_constraint( + "ck_broadcast_message_created_by_not_null", + "broadcast_message" + ) op.drop_constraint('broadcast_message_created_by_api_key_id_fkey', 'broadcast_message', type_='foreignkey') op.drop_constraint('broadcast_message_cancelled_by_api_key_id_fkey', 'broadcast_message', type_='foreignkey') op.create_foreign_key('broadcast_message_api_key_id_fkey', 'broadcast_message', 'api_keys', ['api_key_id'], ['id'])