diff --git a/migrations/.current-alembic-head b/migrations/.current-alembic-head index 4bbc2ccd04..ce42232e7a 100644 --- a/migrations/.current-alembic-head +++ b/migrations/.current-alembic-head @@ -1 +1 @@ -0553_add_reason_to_provider +0556_add_notify_status_idx diff --git a/migrations/versions/0554_add_notif_status_constraint.py b/migrations/versions/0554_add_notif_status_constraint.py new file mode 100644 index 0000000000..e6537a907a --- /dev/null +++ b/migrations/versions/0554_add_notif_status_constraint.py @@ -0,0 +1,23 @@ +""" +Create Date: 2026-07-20T00:00:00 +""" + +from alembic import op + +revision = "0554_add_notif_status_constraint" +down_revision = "0553_add_reason_to_provider" + + +def upgrade(): + op.execute( + "-- squawk-ignore require-timeout-settings\n" + "ALTER TABLE notifications " + "ADD CONSTRAINT ck_notifications_notification_status_not_null " + "CHECK (notification_status IS NOT NULL) NOT VALID;" + ) + + +def downgrade(): + op.execute( + "ALTER TABLE notifications DROP CONSTRAINT IF EXISTS ck_notifications_notification_status_not_null;" + ) diff --git a/migrations/versions/0555_add_notify_status_not_null.py b/migrations/versions/0555_add_notify_status_not_null.py new file mode 100644 index 0000000000..23a5096c3c --- /dev/null +++ b/migrations/versions/0555_add_notify_status_not_null.py @@ -0,0 +1,20 @@ +""" +Create Date: 2026-07-20T00:00:00 +""" + +from alembic import op + +revision = "0555_add_notify_status_not_null" +down_revision = "0554_add_notif_status_constraint" + + +def upgrade(): + op.execute( + "ALTER TABLE notifications " + "VALIDATE CONSTRAINT ck_notifications_notification_status_not_null;" + ) + op.execute("ALTER TABLE notifications ALTER COLUMN notification_status SET NOT NULL;") + + +def downgrade(): + op.execute("ALTER TABLE notifications ALTER COLUMN notification_status DROP NOT NULL;") diff --git a/migrations/versions/0556_add_notify_status_idx.py b/migrations/versions/0556_add_notify_status_idx.py new file mode 100644 index 0000000000..de04d3820a --- /dev/null +++ b/migrations/versions/0556_add_notify_status_idx.py @@ -0,0 +1,24 @@ +""" +Create Date: 2026-07-20T00:00:00 +""" + +from alembic import op + +revision = "0556_add_notify_status_idx" +down_revision = "0555_add_notify_status_not_null" + + +def upgrade(): + with op.get_context().autocommit_block(): + op.execute( + "CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS " + "ix_notifications_id_status " + "ON notifications (id, notification_status);" + ) + + +def downgrade(): + with op.get_context().autocommit_block(): + op.execute( + "DROP INDEX CONCURRENTLY IF EXISTS ix_notifications_id_status;" + )