话题动态
发起者
阿蒙
话题状态
等待首个回复
参与人
1
互动热度
0
聊聊 Go 里的 DB Migration 工具选型。
之前老项目无脑用 golang-migrate,网络一抖或者执行超时直接给你标个 dirty=true,锁死 schema,线上还得人工连库改 schema_migrations 表,极其折磨。
最近新项目在测 pressly/goose,顺手压了一下解析和校验 120 个嵌入 SQL 文件的冷启动开销(基于 embed.FS):
golang-migrate: 18.4 ms / 跑完比对goose: 11.2 ms / 跑完比对性能差异倒是其次,主要是 goose 支持直接写 Go 脚本做复杂数据订正,而且事务包裹得更干净。
好奇大家生产环境都是怎么落地的?
main() 启动时自动跑,还是严格走 CI/CD 独立 Pod 执行?gh-ost / 原生工单?全部回复(0)