"""Seed daily no-token cloud-subscription health baselines. Revision ID: 503 Revises: 502 """ import uuid import sqlalchemy as sa from alembic import op revision = "503" down_revision = "502" branch_labels = None depends_on = None _JOB = "intelligence.cloud_scope_baseline_daily" def upgrade() -> None: bind = op.get_bind() if bind.execute( sa.text("SELECT 1 FROM scheduled_jobs WHERE name = :name LIMIT 1"), {"name": _JOB}, ).scalar(): return bind.execute( sa.text( """ INSERT INTO scheduled_jobs (id, name, display_name, description, handler_key, trigger_type, interval_seconds, cron_expr, timezone, enabled, config, run_count, failure_count, created_at, updated_at) VALUES (:id, :name, :display_name, :description, :name, 'cron', NULL, '45 7 * * *', 'UTC', 1, :config, 0, 0, UTC_TIMESTAMP(), UTC_TIMESTAMP()) """ ), { "id": str(uuid.uuid4()), "name": _JOB, "display_name": "AI 大脑云订阅每日确定性基线", "description": ( "每日 07:45 UTC 为所有有效云订阅预计算健康分、可信度和逐项数据缺口;" "不调用模型,订阅成员打开 AI 页即可先看到明确的数据准备情况。" ), "config": "{}", }, ) def downgrade() -> None: op.get_bind().execute( sa.text("DELETE FROM scheduled_jobs WHERE name = :name"), {"name": _JOB}, )