diff --git a/keep/api/models/db/migrations/versions/2024-10-22-10-38_8438f041ee0e.py b/keep/api/models/db/migrations/versions/2024-10-22-10-38_8438f041ee0e.py index df34c53e8..2fc6cf1f2 100644 --- a/keep/api/models/db/migrations/versions/2024-10-22-10-38_8438f041ee0e.py +++ b/keep/api/models/db/migrations/versions/2024-10-22-10-38_8438f041ee0e.py @@ -39,15 +39,19 @@ def upgrade() -> None: with op.batch_alter_table("provider", schema=None) as batch_op: batch_op.alter_column("pulling_enabled", nullable=False) else: - # Implementation for other databases + # PostgreSQL and other databases implementation with op.batch_alter_table("provider", schema=None) as batch_op: + # 1. Add the column as nullable batch_op.add_column( - sa.Column( - "pulling_enabled", - sa.Boolean(), - nullable=False, - server_default=sa.true(), - ) + sa.Column("pulling_enabled", sa.Boolean(), nullable=True) + ) + # 2. Set default value for existing rows + op.execute( + "UPDATE provider SET pulling_enabled = true WHERE pulling_enabled IS NULL" + ) + # 3. Make it non-nullable + batch_op.alter_column( + "pulling_enabled", nullable=False, server_default=sa.true() )