chore: backup before code cleanup
Backup commit before executing remove-unused-code proposal. This includes all pending changes and new features. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
"""fix_sessions_schema_mismatch
|
||||
|
||||
Revision ID: f1a2b3c4d5e6
|
||||
Revises: e51c9a16ee16
|
||||
Create Date: 2025-12-10 10:30:00.000000
|
||||
|
||||
Fix schema mismatch between SQLAlchemy model and MySQL database:
|
||||
1. Remove session_token column from tool_ocr_sessions (not in model)
|
||||
2. Remove is_active column from tool_ocr_sessions (not in model)
|
||||
3. Note: processing_track in tool_ocr_tasks is nullable so it won't cause issues
|
||||
|
||||
These columns were added to the database manually or by another migration
|
||||
but are not present in the current SQLAlchemy models.
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import mysql
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = 'f1a2b3c4d5e6'
|
||||
down_revision: Union[str, None] = 'e51c9a16ee16'
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
"""
|
||||
Remove columns from tool_ocr_sessions that exist in DB but not in model.
|
||||
This fixes the "Field 'session_token' doesn't have a default value" error.
|
||||
"""
|
||||
# Remove session_token column (exists in DB, not in model)
|
||||
op.drop_column('tool_ocr_sessions', 'session_token')
|
||||
|
||||
# Remove is_active column (exists in DB, not in model)
|
||||
op.drop_column('tool_ocr_sessions', 'is_active')
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
"""
|
||||
Re-add the columns if needed to rollback.
|
||||
"""
|
||||
# Re-add is_active column
|
||||
op.add_column('tool_ocr_sessions',
|
||||
sa.Column('is_active', mysql.TINYINT(), nullable=False, server_default='1',
|
||||
comment='Whether the session is active'))
|
||||
|
||||
# Re-add session_token column
|
||||
op.add_column('tool_ocr_sessions',
|
||||
sa.Column('session_token', sa.String(length=255), nullable=False,
|
||||
comment='Session token for authentication'))
|
||||
Reference in New Issue
Block a user