46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
"""Add agent lifecycle metadata columns.
|
|
|
|
Revision ID: e3a1b2c4d5f6
|
|
Revises: b497b348ebb4
|
|
Create Date: 2026-02-24 00:00:00.000000
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import sqlalchemy as sa
|
|
from alembic import op
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = "e3a1b2c4d5f6"
|
|
down_revision = "b497b348ebb4"
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
"""Add lifecycle generation, wake tracking, and failure metadata."""
|
|
op.add_column(
|
|
"agents",
|
|
sa.Column("lifecycle_generation", sa.Integer(), nullable=False, server_default="0"),
|
|
)
|
|
op.add_column(
|
|
"agents",
|
|
sa.Column("wake_attempts", sa.Integer(), nullable=False, server_default="0"),
|
|
)
|
|
op.add_column("agents", sa.Column("last_wake_sent_at", sa.DateTime(), nullable=True))
|
|
op.add_column("agents", sa.Column("checkin_deadline_at", sa.DateTime(), nullable=True))
|
|
op.add_column("agents", sa.Column("last_provision_error", sa.Text(), nullable=True))
|
|
op.alter_column("agents", "lifecycle_generation", server_default=None)
|
|
op.alter_column("agents", "wake_attempts", server_default=None)
|
|
|
|
|
|
def downgrade() -> None:
|
|
"""Remove lifecycle generation, wake tracking, and failure metadata."""
|
|
op.drop_column("agents", "last_provision_error")
|
|
op.drop_column("agents", "checkin_deadline_at")
|
|
op.drop_column("agents", "last_wake_sent_at")
|
|
op.drop_column("agents", "wake_attempts")
|
|
op.drop_column("agents", "lifecycle_generation")
|
|
|