Files
rf4-spotter/apps/api/alembic/versions/0017_waterbody_provenance.py
ik d438c40542
CI / backend-and-migrations (push) Canceled after 0s
CI / astro-build (push) Canceled after 0s
CI / dependency-audit (push) Canceled after 0s
CI / compose-e2e (push) Canceled after 0s
sync
2026-09-17 07:35:23 +07:00

38 lines
1.2 KiB
Python

"""add canonical waterbody provenance fields
Revision ID: 0017
Revises: 0016
"""
from alembic import op
import sqlalchemy as sa
revision = "0017"
down_revision = "0016"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column("waterbody", sa.Column("source_system", sa.String(length=50), nullable=True))
op.add_column("waterbody", sa.Column("source_external_id", sa.String(length=200), nullable=True))
op.add_column("waterbody", sa.Column("source_url", sa.Text(), nullable=True))
op.add_column("waterbody", sa.Column("description", sa.Text(), nullable=True))
op.add_column("waterbody", sa.Column("source_checked_at", sa.DateTime(timezone=True), nullable=True))
op.create_index(
"uq_waterbody_source_identity",
"waterbody",
["source_system", "source_external_id"],
unique=True,
)
def downgrade() -> None:
op.drop_index("uq_waterbody_source_identity", table_name="waterbody")
op.drop_column("waterbody", "source_checked_at")
op.drop_column("waterbody", "description")
op.drop_column("waterbody", "source_url")
op.drop_column("waterbody", "source_external_id")
op.drop_column("waterbody", "source_system")