标签: MySQL

共 1 篇

Go 项目的数据库迁移:手写 .sql 文件,一次变更怎么走到生产

2026年10月21日

Go 服务新版本上线,日志里刷出 column "coupon_code" does not exist:加列的 SQL 写了,生产库没人执行。顺着这个现象往下追:手写的 .sql 文件怎么交给 golang-migrate 和 goose 去执行,执行到一半失败了库里留下什么,两个分支各加一个文件时会不会漏掉一个,一个 .sql 从提交、CI、打包到部署要走哪几步、由谁来执行,一条只改元数据的 ALTER 为什么能把整张表堵住,新旧代码同时在线时列名怎么跨几个版本改,最后是 down 文件到底能不能用来回滚。