48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
"""replace vision focus with explicit prompt modes
|
|||
|
|
|
||
|
|
Revision ID: 20260812_0020
|
||
|
|
Revises: 20260812_0019
|
||
|
|
"""
|
||
|
|
|
||
|
|
from collections.abc import Sequence
|
||
|
|
|
||
|
|
from alembic import op
|
||
|
|
import sqlalchemy as sa
|
||
|
|
|
||
|
|
|
||
|
|
revision: str = "20260812_0020"
|
||
|
|
down_revision: str | Sequence[str] | None = "20260812_0019"
|
||
|
|
branch_labels: str | Sequence[str] | None = None
|
||
|
|
depends_on: str | Sequence[str] | None = None
|
||
|
|
|
||
|
|
|
||
|
|
def upgrade() -> None:
|
||
|
|
op.alter_column(
|
||
|
|
"assistants",
|
||
|
|
"vision_focus_prompt",
|
||
|
|
new_column_name="vision_prompt",
|
||
|
|
)
|
||
|
|
op.add_column(
|
||
|
|
"assistants",
|
||
|
|
sa.Column(
|
||
|
|
"vision_prompt_mode",
|
||
|
|
sa.String(length=16),
|
||
|
|
server_default="runtime",
|
||
|
|
nullable=False,
|
||
|
|
),
|
||
|
|
)
|
||
|
|
# The previous single-field implementation behaved most like guided mode.
|
||
|
|
op.execute(
|
||
|
|
"UPDATE assistants SET vision_prompt_mode = 'guided' "
|
||
|
|
"WHERE TRIM(vision_prompt) <> ''"
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
def downgrade() -> None:
|
||
|
|
op.drop_column("assistants", "vision_prompt_mode")
|
||
|
|
op.alter_column(
|
||
|
|
"assistants",
|
||
|
|
"vision_prompt",
|
||
|
|
new_column_name="vision_focus_prompt",
|
||
|
|
)
|