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
|
from alembic import op
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from sqlalchemy import inspect as sa_inspect
|
||||||
|
|
||||||
revision = "o5m3j9k1l2"
|
revision = "o5m3j9k1l2"
|
||||||
down_revision = "n4l2i8j0k1"
|
down_revision = "n4l2i8j0k1"
|
||||||
@@ -14,11 +15,19 @@ depends_on = None
|
|||||||
|
|
||||||
|
|
||||||
def upgrade() -> None:
|
def upgrade() -> None:
|
||||||
op.add_column(
|
conn = op.get_bind()
|
||||||
"ap_activities",
|
inspector = sa_inspect(conn)
|
||||||
sa.Column("origin_app", sa.String(64), nullable=True),
|
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:
|
def downgrade() -> None:
|
||||||
|
|||||||
Reference in New Issue
Block a user