"""
Database Migration: Add display_name and description to slot_definitions.
添加槽位名称和槽位说明字段

创建时间: 2026-03-08
变更说明:
- 新增 display_name 字段：槽位名称，给运营/教研看的中文名
- 新增 description 字段：槽位说明，解释这个槽位采集什么、用于哪里

执行方式:
- SQLModel 会自动处理新字段（通过 init_db）
- 此脚本用于手动迁移现有数据库

SQL DDL:
```sql
ALTER TABLE slot_definitions 
ADD COLUMN IF NOT EXISTS display_name VARCHAR(100),
ADD COLUMN IF NOT EXISTS description VARCHAR(500);
```

回滚 SQL:
```sql
ALTER TABLE slot_definitions 
DROP COLUMN IF EXISTS display_name,
DROP COLUMN IF EXISTS description;
```
"""

ALTER_SLOT_DEFINITIONS_DDL = """
ALTER TABLE slot_definitions 
ADD COLUMN IF NOT EXISTS display_name VARCHAR(100),
ADD COLUMN IF NOT EXISTS description VARCHAR(500);
"""

ALTER_SLOT_DEFINITIONS_ROLLBACK = """
ALTER TABLE slot_definitions 
DROP COLUMN IF EXISTS display_name,
DROP COLUMN IF EXISTS description;
"""


async def upgrade(conn):
    """执行迁移"""
    await conn.execute(ALTER_SLOT_DEFINITIONS_DDL)


async def downgrade(conn):
    """回滚迁移"""
    await conn.execute(ALTER_SLOT_DEFINITIONS_ROLLBACK)
