Files
openclaw-mission-control/backend/alembic/versions/f1a2b3c4d5e6_add_board_gateway_config.py
Abhimanyu Saharan 4dea771545 feat(boards): Store gateway config per board
Move gateway configuration into board settings and wire agent\nprovisioning, heartbeat templates, and gateway status lookups\nto use board-specific gateway settings. Adds board_id on agents\nand UI updates for board-scoped selection.\n\nCo-Authored-By: Claude <noreply@anthropic.com>
2026-02-04 16:04:52 +05:30

48 lines
1.4 KiB
Python

"""add board gateway config
Revision ID: f1a2b3c4d5e6
Revises: e4f5a6b7c8d9
Create Date: 2026-02-04 00:00:00.000000
"""
from __future__ import annotations
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = "f1a2b3c4d5e6"
down_revision = "e4f5a6b7c8d9"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column("boards", sa.Column("gateway_url", sa.String(), nullable=True))
op.add_column("boards", sa.Column("gateway_token", sa.String(), nullable=True))
op.add_column(
"boards", sa.Column("gateway_main_session_key", sa.String(), nullable=True)
)
op.add_column(
"boards", sa.Column("gateway_workspace_root", sa.String(), nullable=True)
)
op.add_column("agents", sa.Column("board_id", sa.Uuid(), nullable=True))
op.create_foreign_key(
"agents_board_id_fkey", "agents", "boards", ["board_id"], ["id"]
)
op.create_index(op.f("ix_agents_board_id"), "agents", ["board_id"], unique=False)
def downgrade() -> None:
op.drop_index(op.f("ix_agents_board_id"), table_name="agents")
op.drop_constraint("agents_board_id_fkey", "agents", type_="foreignkey")
op.drop_column("agents", "board_id")
op.drop_column("boards", "gateway_workspace_root")
op.drop_column("boards", "gateway_main_session_key")
op.drop_column("boards", "gateway_token")
op.drop_column("boards", "gateway_url")