ci/woodpecker/push/main Pipeline failed
根治 2026-09-16 发布中断(新增模型触发启动 create_all,cma_api 无 CREATE → 崩溃循环): - backend/app/database.py: 新增 CMA_AUTO_CREATE 开关(**默认关**),生产启动不再执行 DDL; 运行库账号因此无需 CREATE(最小权限可保持) - backend/scripts/db_migrate.py: 特权迁移步(--check/--apply/--rollback/--status); 幂等(checkfirst)+ journal 留痕 + 可回滚(dump 失败/表有数据即拒绝,fail-closed); 显式拒绝用应用运行账号 cma_api 执行 - deploy.sh: 新增 [4b] 结构迁移(**重启前**执行;失败即中止部署,后端旧码继续服务) - backend/scripts/tests/db-migrate-sim-e2e.sh: 17 项 scratch 复现/验收(负控制复现 CREATE command denied) - docs/db-migration-runbook.md: 运行手册(含 cma_api CREATE 回收步骤) 验收:scratch E2E 17/17;pytest 1113 passed/1 xfailed;生产 --check 缺失表 0 / 列级差异 0; --apply 幂等空跑 created_new=0(journal 留痕)
24 lines
410 B
Plaintext
24 lines
410 B
Plaintext
app.db
|
||
cma.db
|
||
cma_import.db
|
||
dist
|
||
dist/
|
||
.DS_Store
|
||
.env
|
||
*.local
|
||
node_modules
|
||
node_modules/
|
||
*.pyc
|
||
__pycache__/
|
||
*.tsbuildinfo
|
||
venv/
|
||
backend/logs/
|
||
|
||
# 因果链验证报告(生成物)
|
||
backend/scripts/reports/
|
||
# 迁移 journal / dump(db_migrate.py 生成物,不入库)
|
||
backend/scripts/backups/db-migrate-journal/
|
||
backend/scripts/backups/dump-*.sql
|
||
# 脚本备份(手工备份产物,不入库)
|
||
*.bak-*
|