fix(db): widen ai_sessions.status column from varchar(20) to varchar(30)

'requesting_escalation' is 23 characters, exceeding the varchar(20)
limit. This caused a StringDataRightTruncationError 500 on escalate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-21 01:23:33 +00:00
parent 60334cde93
commit 0a77215fac
2 changed files with 37 additions and 1 deletions

View File

@@ -0,0 +1,36 @@
"""widen ai_sessions status to varchar 30
Revision ID: f0aad74ea51b
Revises: b8d2f4a6c091
Create Date: 2026-03-21 01:21:03.742028
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'f0aad74ea51b'
down_revision: Union[str, None] = 'b8d2f4a6c091'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
op.alter_column(
"ai_sessions", "status",
type_=sa.String(30),
existing_type=sa.String(20),
existing_nullable=False,
)
def downgrade() -> None:
op.alter_column(
"ai_sessions", "status",
type_=sa.String(20),
existing_type=sa.String(30),
existing_nullable=False,
)

View File

@@ -85,7 +85,7 @@ class AISession(Base):
# ── Session state ──
status: Mapped[str] = mapped_column(
String(20), nullable=False, default="active", index=True,
String(30), nullable=False, default="active", index=True,
)
confidence_tier: Mapped[str] = mapped_column(
String(20), nullable=False, default="discovery",