生产环境建议在 CI/CD 中先执行(或确保应用用户有足够权限)
为什么需要 Flyway
在引入 Flyway 之前,数据库变更依赖人工执行 SQL,存在以下问题:
- 上线时忘记执行 SQL,导致应用报错
- 同一条 SQL 被重复执行,破坏数据结构
- 各环境数据库结构不一致,测试通过但生产报错
- 没有记录哪些 SQL 执行过、什么时候执行的
Flyway 的作用:让数据库结构变更像代码一样被版本管理,应用启动时自动执行还未执行过的 SQL,已执行过的绝不重复执行。
参考
https://juejin.cn/post/7250026082442543165
https://blog.csdn.net/li1375942531/article/details/159430595
https://blog.csdn.net/smlcx/article/details/158431234