我们目前使用liquibase来控制我们的mysql数据库,但是,我们不允许在生产时运行liquibase。我们第一次部署时,我们进行了数据库的sql转储,这是迄今为止所有更改日志的合并。
所以说改变日志目前是在生产上的更改日志128。 如何在liquibase中生成128到140的更改日志的SQL?
答案 0 :(得分:1)
您可以使用updateSQL
直接将更改输出到SQL增量脚本文件而不是数据库。
可以像这样工作: 您保留生产数据库的副本(只是结构 - 无需数据)作为参考DB。 您允许所有128变更集在该数据库上运行,以使其与生产数据库处于相同的状态。
然后让liquibase使用updateSQL
针对该数据库运行。这只会在文件中输出缺少的SQL(从128到140)。
然后你有delta SQL Script。
假设在生产中你有1.0,下一个版本是1.1,变更集128-140是goind的一部分,从1.0到1.1然后你可以命名文件sql_delta__1_0_to_1_1.sql。
数据库管理员可以检查增量文件,如果他们认为没问题,他们可以让它运行,你的prod数据库将是1.1版本。
之后,您还将delta脚本运行到引用数据库,以确保它与您生成db的状态相同。
对于下一个版本,你重复整个事情。我想你得到了这个概念。
这就是我们使用它的方式......