建议一起打包:
data/(SQLite)configs/modules/catalog.json、modules/module-lock.json
先停 db-server,避免 WAL 下文件不一致:
sfmc> stop db
打包后再 start db。
不要在 db-server 运行时直接复制 .db 文件。
git pull
npm install
npm run build --workspaces --if-present
node sfmc/dist/main.js behavior-pack build
node sfmc/dist/main.js behavior-pack deploy
# 重启服务与 BDSnode tools/fetch-module.mjs install <id>
# 再 build + deploy + 重启 BDSnode sfmc/dist/main.js update
# 或
node bds-tools/dist/check-update.js --check-only
node bds-tools/dist/check-update.js --forcedb-server 启动时会跑 initSchema 做增量迁移,老数据库一般能直接沿用。
- 配置 / lock:用备份覆盖
- BP:重新
build+deploy上一版模块 - BDS:用 bds-tools 的 rollback(若你启用了备份策略)
- 运行态在
<SFMC_ROOT>/.sfmc/(回滚标记 / PID / version cache) - 落盘日志统一在
<SFMC_ROOT>/.sfmc/logs/:db.log/qq.log/remote-controller.log— 各服务进程自写bds-update.log— BDS 更新器bds.log/llbot.log— sfmc 捕获的外部进程输出sfmc.log— 监督器 / pack / system 等
- 运行态在