Make origin_app migration idempotent
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,7 @@ Create Date: 2026-02-22
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy import inspect as sa_inspect
|
||||
|
||||
revision = "o5m3j9k1l2"
|
||||
down_revision = "n4l2i8j0k1"
|
||||
@@ -14,11 +15,19 @@ depends_on = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.add_column(
|
||||
"ap_activities",
|
||||
sa.Column("origin_app", sa.String(64), nullable=True),
|
||||
conn = op.get_bind()
|
||||
inspector = sa_inspect(conn)
|
||||
columns = [c["name"] for c in inspector.get_columns("ap_activities")]
|
||||
if "origin_app" not in columns:
|
||||
op.add_column(
|
||||
"ap_activities",
|
||||
sa.Column("origin_app", sa.String(64), nullable=True),
|
||||
)
|
||||
# Index is idempotent with if_not_exists
|
||||
op.create_index(
|
||||
"ix_ap_activity_origin_app", "ap_activities", ["origin_app"],
|
||||
if_not_exists=True,
|
||||
)
|
||||
op.create_index("ix_ap_activity_origin_app", "ap_activities", ["origin_app"])
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
|
||||
Reference in New Issue
Block a user