1

我想使用 liquibase 进行数据库版本控制。

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

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

我看到人们使用参考数据库,我发现它非常繁重,而且对于进行良好的持续集成来说不是很灵活和可扩展。

有没有其他解决方案可以简单地比较 db.changelog.xml 和数据库之间的差异并将它们写入这个 db.changelog.xml ?

谢谢。

4

1 回答 1

1

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

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

我认为这样做的目的generateChangeLog是在您已经拥有现有数据库并且想要切换到使用 liquibase 的项目开始时使用它。但不要经常使用它来克服在没有 liquibase 的情况下完成的手动更改。

于 2013-10-09T09:20:19.773 回答