From 942e6d1f23f1e87f0abbbc3d0b8a2d12a5f6bd8d Mon Sep 17 00:00:00 2001 From: Emma Mulitz Date: Fri, 24 Oct 2025 12:09:44 -0400 Subject: [PATCH] Fix migration: Update ALL adapter_config rows, not just mock The migration was failing in production with: column "mock_manual_approval_required" of relation "adapter_config" contains null values Root cause: Migration only updated rows WHERE adapter_type = 'mock', but then set NOT NULL constraint on the entire column. Fix: Update ALL existing rows to false before setting NOT NULL. This allows the migration to succeed for tenants with non-mock adapters (GAM, Kevel, etc.). --- .../e38f2f6f395a_add_mock_manual_approval_required.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/alembic/versions/e38f2f6f395a_add_mock_manual_approval_required.py b/alembic/versions/e38f2f6f395a_add_mock_manual_approval_required.py index 0ff6838c0..b4097d0bb 100644 --- a/alembic/versions/e38f2f6f395a_add_mock_manual_approval_required.py +++ b/alembic/versions/e38f2f6f395a_add_mock_manual_approval_required.py @@ -23,8 +23,8 @@ def upgrade() -> None: # Add mock_manual_approval_required column to adapter_config table op.add_column('adapter_config', sa.Column('mock_manual_approval_required', sa.Boolean(), nullable=True)) - # Set default value to False for existing rows - op.execute("UPDATE adapter_config SET mock_manual_approval_required = false WHERE adapter_type = 'mock'") + # Set default value to False for ALL existing rows (not just mock adapters) + op.execute("UPDATE adapter_config SET mock_manual_approval_required = false") # Make the column non-nullable after setting defaults op.alter_column('adapter_config', 'mock_manual_approval_required', nullable=False, server_default=sa.false())