# plugins/host_agent/migrations/versions/host_agent_013_spread.py """host_agent: a maintenance run spreads swarm services back out after its last host, and a plan can keep named services where they are Revision ID: host_agent_013_spread """ from typing import Sequence, Union from alembic import op import sqlalchemy as sa revision: str = "host_agent_013_spread" down_revision: Union[str, None] = "host_agent_012_ends_as" branch_labels: Union[str, Sequence[str], None] = None depends_on: Union[str, Sequence[str], None] = None def upgrade() -> None: op.add_column("host_maintenance_plans", sa.Column("spread", sa.Boolean, nullable=False, server_default=sa.true())) op.add_column("host_maintenance_plans", sa.Column("keep_in_place", sa.Text, nullable=False, server_default="")) op.add_column("host_maintenance_runs", sa.Column("rebalance", sa.JSON, nullable=True)) def downgrade() -> None: op.drop_column("host_maintenance_runs", "rebalance") op.drop_column("host_maintenance_plans", "keep_in_place") op.drop_column("host_maintenance_plans", "spread")