把生产库克隆到本地做部署演练时,拉了三列绑定状态的**真实取值全集**,发现 `esports_bind_status` 里存在 `game_not_bound`(生产 26 行),而我的映射表里没有它 —— 会被归成 `unknown`,可它明明在说「没绑定」。 第一版映射只覆盖了文档里举的几个例子。**教训:映射表必须拿真实取值全集核对。** 修法:Python 映射与迁移 `0044` 的 CASE 同步补上 `game_not_bound → unbound` (两者有逐字比对用例,不会分叉),并新增一条用**生产实测取值全集**驱动的用例 (17 + 11 + 9 个取值),以后往这三列加新取值时会被提醒确认语义, 而不是默默变成 `unknown`。 已在生产克隆库上验证:电竞列 unbound 从 0 变成 26(正是那批)。
数据库迁移
本目录由 Alembic 管理 Web 后台数据库结构。
常用命令:
uv run alembic upgrade head
uv run alembic revision -m "描述"
应用启动时会自动执行 upgrade head,本地开发通常不需要手动运行迁移命令。