如何将更改从DB提交到db.changelog.xml

时间:2013-10-08 15:23:02

标签: sql database diff versioning liquibase

我想使用liquibase进行db版本化。

我面临一种问题。我想知道如何将我在数据库上直接提交的更改提交到db.changelog.xml。

我尝试了命令generateChangeLog但它附加了脚本以一个接一个地创建完整的数据库。我想只在旧的db.changelog.xml和数据库之间进行更改。

我看到人们使用参考数据库,我发现它很重,而且不够灵活和可扩展,无法进行良好的持续集成。

是否还有其他解决方案可以简单地比较db.changelog.xml和数据库之间的差异,并将它们写入此db.changelog.xml中?

感谢。

1 个答案:

答案 0 :(得分:1)

我想这不是liquibase的用途。您应该通过liquibase changesets进行所有更改,并让liquibase处理数据库更新。如果您还手动更改数据库,则很难处理此问题。

liquibase(imho)对此没有真正的支持。 您只能尝试使用generateChangeLog命令自行提出解决方案,然后将结果与现有的其他更改日志文件进行比较。

我认为generateChangeLog的意图是在项目开始时使用它,当你已经拥有一个现有数据库并且想要切换到使用liquibase时。但是不要经常使用它来克服没有liquibase的手动更改。