31 lines
1.3 KiB
Python
31 lines
1.3 KiB
Python
|
|
"""add schedule_type, goal_id, goal_config to agent_schedules
|
||
|
|
|
||
|
|
Revision ID: 014_add_schedule_goal_fields
|
||
|
|
Revises: 013_add_goals_tasks
|
||
|
|
Create Date: 2026-05-08
|
||
|
|
"""
|
||
|
|
from alembic import op
|
||
|
|
import sqlalchemy as sa
|
||
|
|
from sqlalchemy.dialects.mysql import CHAR
|
||
|
|
|
||
|
|
revision = "014_add_schedule_goal_fields"
|
||
|
|
down_revision = "013_add_goals_tasks"
|
||
|
|
branch_labels = None
|
||
|
|
depends_on = None
|
||
|
|
|
||
|
|
|
||
|
|
def upgrade() -> None:
|
||
|
|
op.add_column("agent_schedules", sa.Column("schedule_type", sa.String(20), default="agent", comment="调度类型: agent / goal"))
|
||
|
|
op.add_column("agent_schedules", sa.Column("goal_id", CHAR(36), sa.ForeignKey("goals.id"), nullable=True, comment="关联 Goal ID"))
|
||
|
|
op.add_column("agent_schedules", sa.Column("goal_config", sa.JSON, nullable=True, comment="Goal 调度配置"))
|
||
|
|
op.create_index("ix_agent_schedules_goal_id", "agent_schedules", ["goal_id"])
|
||
|
|
op.alter_column("agent_schedules", "agent_id", existing_type=CHAR(36), nullable=True)
|
||
|
|
|
||
|
|
|
||
|
|
def downgrade() -> None:
|
||
|
|
op.drop_index("ix_agent_schedules_goal_id", table_name="agent_schedules")
|
||
|
|
op.drop_column("agent_schedules", "goal_config")
|
||
|
|
op.drop_column("agent_schedules", "goal_id")
|
||
|
|
op.drop_column("agent_schedules", "schedule_type")
|
||
|
|
op.alter_column("agent_schedules", "agent_id", existing_type=CHAR(36), nullable=False)
|