fix(deploy): 全新部署链路健壮性(0004 幂等 + 迁移前置 + 空库守卫)
- 0004_metric_aggregate_unique 改为幂等:新库基线已由模型 uniqueIndex 建出 uniq_metric_agg,再次 CREATE 会以 1061 重复键名中断 migrate up, 导致 0005_agent_settings 建不出来(全新部署实测复现) - 新增 database.IndexExists:跨 SQLite/MySQL/PostgreSQL 判断索引是否存在 - 新增 database.EnsureSchemaInitialized:服务启动遇到空库时明确失败并给出 执行 aiops migrate up 的指引,避免「服务起来了但页面全是空数据」 - run.sh docker up/upgrade/update 先跑一次 aiops migrate up 再启动服务 // Logan.Li
This commit is contained in:
1 parent
7a96381dc7
commit
f3a4fb569f
5 files changed
+57
No files matched your search
@@ -155,6 +155,11 @@ func main() {
|
||||
log.Warn("--skip-auto-migrate 已废弃;服务启动始终不会执行数据库迁移")
|
||||
}
|
||||
|
||||
// 空库直接失败并给出明确指引,避免服务带病启动(全新部署需先执行一次 migrate up)。 // Logan.Li
|
||||
if err := database.EnsureSchemaInitialized(db); err != nil {
|
||||
log.Fatal("数据库尚未初始化:请先执行 `aiops migrate up` 建表(服务启动不会自动建表)", zap.Error(err))
|
||||
}
|
||||
|
||||
// 初始化种子数据
|
||||
seed.SeedData(db)
|
||||
// 中间件监控默认目标(aiops-redis / aiops-mysql)// Logan.Li
|
||||
|
||||
Reference in new issue
Block a user