我想使用liquibase进行db版本化。
我面临一种问题。我想知道如何将我在数据库上直接提交的更改提交到db.changelog.xml。
我尝试了命令generateChangeLog但它附加了脚本以一个接一个地创建完整的数据库。我想只在旧的db.changelog.xml和数据库之间进行更改。
我看到人们使用参考数据库,我发现它很重,而且不够灵活和可扩展,无法进行良好的持续集成。
是否还有其他解决方案可以简单地比较db.changelog.xml和数据库之间的差异,并将它们写入此db.changelog.xml中?
感谢。
答案 0 :(得分:1)
我想这不是liquibase的用途。您应该通过liquibase changesets进行所有更改,并让liquibase处理数据库更新。如果您还手动更改数据库,则很难处理此问题。
liquibase(imho)对此没有真正的支持。
您只能尝试使用generateChangeLog
命令自行提出解决方案,然后将结果与现有的其他更改日志文件进行比较。
我认为generateChangeLog
的意图是在项目开始时使用它,当你已经拥有一个现有数据库并且想要切换到使用liquibase时。但是不要经常使用它来克服没有liquibase的手动更改。