"""preserve ordered gear evidence on catches Revision ID: 0022 Revises: 0021 """ from alembic import op import sqlalchemy as sa revision = "0022" down_revision = "0021" branch_labels = None depends_on = None def upgrade() -> None: op.create_table( "catch_tackle_component", sa.Column("id", sa.Uuid(), primary_key=True), sa.Column("catch_report_id", sa.Uuid(), sa.ForeignKey("catch_report.id"), nullable=False), sa.Column("tackle_item_id", sa.Uuid(), sa.ForeignKey("tackle_item.id")), sa.Column("rig_id", sa.Uuid(), sa.ForeignKey("rig.id")), sa.Column("role", sa.String(50), nullable=False), sa.Column("position", sa.Integer(), nullable=False), sa.Column("raw_value", sa.String(200), nullable=False), sa.Column("source_system", sa.String(50)), sa.Column("source_external_id", sa.String(200)), sa.Column("source_url", sa.Text()), sa.Column("raw_payload", sa.JSON()), sa.UniqueConstraint("catch_report_id", "position"), sa.CheckConstraint( "NOT (tackle_item_id IS NOT NULL AND rig_id IS NOT NULL)", name="ck_catch_tackle_one_canonical_target", ), ) def downgrade() -> None: op.drop_table("catch_tackle_component")