因此,我将 Flyway 引入到我们的环境中,以便对所有模式更改进行版本控制,这样我就可以自动执行任何更改。
问题是我有多个数据库(假设 30 个),每个数据库都有不同版本的架构。我正在寻找一种工具来帮助我将所有内容带到一个共同的基线,例如比较表格并进行必要的更改。差异并不大 - 主要是缺少列和索引。
答案1
如果您只需要执行一次,您可以尝试 MySQL Workbench。只需从“黄金映像”数据库导入模式并将其同步到所有其他数据库。也许您需要在执行此操作之前运行差异和报告。
答案2
好的,所以我想出了使用 Liquibase 进行完整的基线更新:
- 从黄金数据库映像创建更新文件
- 将失败时跳过的标签附加到更新文件中的所有更改
- 在所有数据库上运行脚本,获取来自文件的凭证。