使用Liquibase时如何处理自动更新脚本所做的数据库更改?

时间:2014-05-03 22:22:08

标签: auto-update liquibase flyway

我正在开发一个也使用Wordpress作为其中一部分的Web应用程序。我想使用Liquibase来跟踪我的数据库更改。

如何处理Wordpress自动更新脚本所做的数据库更改?

我可以忽略它们吗?并且只在Liquibase changelog文件中添加我自己的更改?

2 个答案:

答案 0 :(得分:2)

您可以在每次WordPress升级后执行模式的diffChangelog,以便Liquibase可以跟踪更改。你可以忽略它们--Liquibase并不真正关心未知的模式对象。唯一的问题是,如果您的更改和WordPress更改发生冲突。

答案 1 :(得分:2)

你可以而且应该忽略它们。

Liquibase只做一件事。它跟踪以下事实:

  • 某个命令(比如createTable)...
  • ...在时间0看起来某种方式(表格的名称,其列等)......
  • ...最终在0时执行(它将此记录存储在DATABASECHANGELOG)。

就是这样。它不是结构实施器或数据库状态重构引擎。很可能 - 并且允许,并且经常预期 - 数据库将被其他工具更改,而Liquibase将不知道发生了什么。

因此,只需将命令保留在更改日志中,不要担心预先存在的数据库结构,使用前提条件来控制是否运行更改集,并忽略因其他工具而发生的数据库中可能发生的所有其他操作