Skip to content

发版前数据库迁移(zen:push)

个人记账 预算周期账 等表在 backend/zenstack/schema.zmodel,发版到预发/生产前须执行。

步骤

在仓库根目录:

bash
pnpm run zen:generate
pnpm run zen:push

zen:push 会按当前 DATABASE_URLbackend/.env)同步 schema。勿对错误环境执行。

已有库zen:push 未自动删掉冗余短索引,可再执行(幂等):

bash
pnpm --filter taskflow-backend run db:drop-redundant-indexes

等价 SQL:backend/scripts/drop-redundant-indexes.sql

涉及表(近期)

模型近期变更
mini_book_budgetsMiniBookBudgetcategory(空串=总预算);唯一键含 category;已删冗余 (user_id, ledger_id) 索引
acc_goods_bom_itemsAccGoodsBomItem已删冗余 (site_id, finished_goods_id) 索引(由唯一键前缀覆盖)
acc_goods_process_stepsAccGoodsProcessStep已删冗余 (site_id, finished_goods_id) 索引
mini_book_recurringMiniBookRecurringintervalday_of_weekday_of_month 默认 1
acc_inbound_linesAccInboundLinescrap_qty(次品,不入库存)
acc_goodsAccGoodspack_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 冒烟。

TaskFlow 内部文档 Released under the MIT License.