dotb_ai-platform/alembic/versions/0006_reevaluate_child_lineage.py
2026-09-14 09:57:12 +07:00

58 lines
1.4 KiB
Python

"""Add parent_run_id lineage and child_run_id audit for re-evaluate.
Revision ID: 0006_reevaluate_child_lineage
Revises: 0005_review_api_and_audit
Create Date: 2026-08-28
"""
import sqlalchemy as sa
from alembic import op
revision: str = "0006_reevaluate_child_lineage"
down_revision: str | None = "0005_review_api_and_audit"
branch_labels: str | None = None
depends_on: str | None = None
def upgrade() -> None:
op.add_column(
"scoring_runs",
sa.Column(
"parent_run_id",
sa.String(length=36),
sa.ForeignKey("scoring_runs.id"),
nullable=True,
),
)
op.create_index(
"ix_scoring_runs_parent_run_id",
"scoring_runs",
["parent_run_id"],
)
op.add_column(
"review_audits",
sa.Column("child_run_id", sa.String(length=36), nullable=True),
)
op.alter_column(
"review_audits",
"effective_score",
existing_type=sa.Integer(),
nullable=True,
)
def downgrade() -> None:
op.execute(
sa.text("UPDATE review_audits SET effective_score = 0 WHERE effective_score IS NULL")
)
op.alter_column(
"review_audits",
"effective_score",
existing_type=sa.Integer(),
nullable=False,
)
op.drop_column("review_audits", "child_run_id")
op.drop_index("ix_scoring_runs_parent_run_id", table_name="scoring_runs")
op.drop_column("scoring_runs", "parent_run_id")