Files
roboco/alembic/versions/042_worksession_toolchain.py
T

46 lines
1.4 KiB
Python
Raw Normal View History

"""WorkSession toolchain columns.
Adds two nullable columns to ``work_sessions`` for agent-runtime toolchain
matching:
- ``toolchain_python`` (VARCHAR(20)) — the Python version the agent's workspace
was provisioned with (resolved from the target project's ``requires-python``).
- ``toolchain_status`` (VARCHAR(20)) — whether the project's test suite can
actually be executed in that interpreter: ``ok`` | ``broken`` | ``unknown``.
Pure schema change; no data backfill. Inert until ``ROBOCO_TOOLCHAIN_MATCH_ENABLED``.
Revision ID: 042_worksession_toolchain
Revises: 041_structured_content_columns
Create Date: 2026-06-22
NOTE: revision id is 25 chars — alembic's ``alembic_version.version_num`` is
``VARCHAR(32)`` and a longer id raises at record time.
"""
from __future__ import annotations
import sqlalchemy as sa
from alembic import op
revision = "042_worksession_toolchain"
down_revision = "041_structured_content_columns"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.add_column(
"work_sessions",
sa.Column("toolchain_python", sa.String(length=20), nullable=True),
)
op.add_column(
"work_sessions",
sa.Column("toolchain_status", sa.String(length=20), nullable=True),
)
def downgrade() -> None:
op.drop_column("work_sessions", "toolchain_status")
op.drop_column("work_sessions", "toolchain_python")