Appearance
发版前数据库迁移(zen:push)
个人记账 预算、周期账 等表在 backend/zenstack/schema.zmodel,发版到预发/生产前须执行。
步骤
在仓库根目录:
bash
pnpm run zen:generate
pnpm run zen:pushzen:push 会按当前 DATABASE_URL(backend/.env)同步 schema。勿对错误环境执行。
对已有库若 zen:push 未自动删掉冗余短索引,可再执行(幂等):
bash
pnpm --filter taskflow-backend run db:drop-redundant-indexes等价 SQL:backend/scripts/drop-redundant-indexes.sql。
涉及表(近期)
| 表 | 模型 | 近期变更 |
|---|---|---|
mini_book_budgets | MiniBookBudget | 列 category(空串=总预算);唯一键含 category;已删冗余 (user_id, ledger_id) 索引 |
acc_goods_bom_items | AccGoodsBomItem | 已删冗余 (site_id, finished_goods_id) 索引(由唯一键前缀覆盖) |
acc_goods_process_steps | AccGoodsProcessStep | 已删冗余 (site_id, finished_goods_id) 索引 |
mini_book_recurring | MiniBookRecurring | 列 interval、day_of_week;day_of_month 默认 1 |
acc_inbound_lines | AccInboundLine | 列 scrap_qty(次品,不入库存) |
acc_goods | AccGoods | 列 pack_rules_json |
acc_outbound_returns / acc_outbound_return_lines | 部分退货主表/明细 | 见 acc-stock-enhancement.md |
预发手工验收(入库次品 + 部分退货):acc-stock-staging-checklist.md。
完整列表见 database-tables.md。
发版后
bash
pnpm --filter taskflow-backend run db:sync-roles-perms重启 gateway / sys / acc 后,按 release-window-checklist.md 冒烟。