上周,我阅读了有关 liquibase 快速入门和所有相关教程的信息,但我觉得我并没有完全了解使用它来连续更改数据库,而且我还有一些问题尚未解决。
我正在使用带有 3 个模块的 maven 在 netbeans 中开发应用程序:dbunit 模块、服务模块和 webapp 模块。您可能已经猜到 dbunit 负责数据库的工作,服务在它之上,而 webapp 使用 services.so父 pom 声明了所有 jars 和插件的所有 groupids、artifactids 和版本。
我设法从命令行生成更改日志文件,因为数据库已经存在并且假设我使用 liquibase maven 插件正确设置了所有内容:
问题 1: liquibase 的目标是什么,因为我现在正在做任何数据库更改?
问题 2:如果我想向数据库中添加一个新表,我是否会将这个新的 changeSet 添加到同一个 changelog 文件中,还是必须创建一个新的 changelog.xml 文件?
问题 3:我相信当 dbunit 运行时它会运行变更集,但是是否有必要将插件添加到 webapp 模块(也许在使用货物插件部署之前运行 liquibase 目标)或者 dbunit 会处理这个问题?
问题 4:subversion 究竟有助于保持变更日志的状态(假设只有一个变更日志引用问题 2)
感谢您阅读本文并为您提供帮助。