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

33 lines
1.1 KiB
Python

"""Add medium AI pipeline scoring fields and audit metadata.
Revision ID: 0004_medium_ai_pipeline
Revises: 0003_rule_only_execution
Create Date: 2026-08-27
"""
import sqlalchemy as sa
from alembic import op
from sqlalchemy.dialects import postgresql
revision: str = "0004_medium_ai_pipeline"
down_revision: str | None = "0003_rule_only_execution"
branch_labels: str | None = None
depends_on: str | None = None
def upgrade() -> None:
op.add_column("scoring_runs", sa.Column("ai_score", sa.Integer(), nullable=True))
op.add_column("scoring_runs", sa.Column("final_score", sa.Integer(), nullable=True))
op.add_column("scoring_runs", sa.Column("scoring_mode", sa.String(length=32), nullable=True))
op.add_column("scoring_runs", sa.Column("degraded", sa.Boolean(), nullable=True))
op.add_column("scoring_runs", sa.Column("ai_metadata", postgresql.JSONB(), nullable=True))
def downgrade() -> None:
op.drop_column("scoring_runs", "ai_metadata")
op.drop_column("scoring_runs", "degraded")
op.drop_column("scoring_runs", "scoring_mode")
op.drop_column("scoring_runs", "final_score")
op.drop_column("scoring_runs", "ai_score")