38 lines
1.2 KiB
Python
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")
|