33 lines
1.1 KiB
Python
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")
|