|
|
@@ -0,0 +1,75 @@
|
|
|
+"""drop unused scheduler leftovers
|
|
|
+
|
|
|
+Revision ID: 20260728_01
|
|
|
+Revises: 20260727_03
|
|
|
+Create Date: 2026-07-28
|
|
|
+"""
|
|
|
+from __future__ import annotations
|
|
|
+
|
|
|
+from collections.abc import Sequence
|
|
|
+
|
|
|
+import sqlalchemy as sa
|
|
|
+from alembic import op
|
|
|
+from sqlalchemy.dialects import mysql
|
|
|
+
|
|
|
+revision: str = "20260728_01"
|
|
|
+down_revision: str | None = "20260727_03"
|
|
|
+branch_labels: str | Sequence[str] | None = None
|
|
|
+depends_on: str | Sequence[str] | None = None
|
|
|
+
|
|
|
+
|
|
|
+def upgrade() -> None:
|
|
|
+ op.execute("DROP TABLE IF EXISTS scheduler_job_execution")
|
|
|
+ op.drop_column("pipeline_run", "triggered_by")
|
|
|
+ op.drop_column("pipeline_run", "parent_run_id")
|
|
|
+ op.drop_column("pipeline_run", "scheduled_for")
|
|
|
+ op.drop_column("pipeline_step_run", "metrics_json")
|
|
|
+
|
|
|
+
|
|
|
+def downgrade() -> None:
|
|
|
+ op.add_column(
|
|
|
+ "pipeline_step_run",
|
|
|
+ sa.Column("metrics_json", sa.JSON(), nullable=True),
|
|
|
+ )
|
|
|
+ op.add_column(
|
|
|
+ "pipeline_run",
|
|
|
+ sa.Column("scheduled_for", sa.DateTime(), nullable=True),
|
|
|
+ )
|
|
|
+ op.add_column(
|
|
|
+ "pipeline_run",
|
|
|
+ sa.Column("parent_run_id", sa.String(length=36), nullable=True),
|
|
|
+ )
|
|
|
+ op.add_column(
|
|
|
+ "pipeline_run",
|
|
|
+ sa.Column("triggered_by", sa.String(length=128), nullable=True),
|
|
|
+ )
|
|
|
+ op.create_table(
|
|
|
+ "scheduler_job_execution",
|
|
|
+ sa.Column("id", sa.BigInteger(), autoincrement=True, nullable=False),
|
|
|
+ sa.Column("run_id", sa.String(length=64), nullable=False),
|
|
|
+ sa.Column("job_name", sa.String(length=128), nullable=False),
|
|
|
+ sa.Column("job_id", sa.String(length=128), nullable=False),
|
|
|
+ sa.Column("status", sa.String(length=32), nullable=False),
|
|
|
+ sa.Column("event_time", sa.DateTime(), nullable=False),
|
|
|
+ sa.Column("biz_dt", sa.String(length=8), nullable=True),
|
|
|
+ sa.Column("started_at", sa.DateTime(), nullable=True),
|
|
|
+ sa.Column("finished_at", sa.DateTime(), nullable=True),
|
|
|
+ sa.Column("duration_seconds", sa.Float(), nullable=True),
|
|
|
+ sa.Column("error_message", sa.Text(), nullable=True),
|
|
|
+ sa.Column("detail", mysql.LONGTEXT(), nullable=True),
|
|
|
+ sa.Column(
|
|
|
+ "create_time",
|
|
|
+ sa.DateTime(),
|
|
|
+ server_default=sa.text("CURRENT_TIMESTAMP"),
|
|
|
+ nullable=False,
|
|
|
+ ),
|
|
|
+ sa.Column(
|
|
|
+ "update_time",
|
|
|
+ sa.DateTime(),
|
|
|
+ server_default=sa.text("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP"),
|
|
|
+ nullable=False,
|
|
|
+ ),
|
|
|
+ sa.PrimaryKeyConstraint("id"),
|
|
|
+ mysql_charset="utf8mb4",
|
|
|
+ mysql_collate="utf8mb4_unicode_ci",
|
|
|
+ )
|