bla*_*sei 3 database maven-2 netbeans java-ee liquibase
上周我读到了liquibase快速启动和所有相关的教程,但我觉得我没有完全使用它来连续更改数据库,我还有一些问题仍然打开.
我正在使用带有3个模块的maven开发一个netbeans应用程序:dbunit模块,服务模块和webapp模块.你可能已经猜到了dbunit做了数据库的东西,服务就在它上面而webapp使用了这些服务.所以父pom具有所有jarids,artifactids和所有jar和插件版本的声明.
我设法从命令行生成changelog文件,因为db已经存在并且假设我使用liquibase maven插件正确设置了所有内容:
问题1:liquibase的目标是什么,因为我现在正在进行任何数据库更改?
问题2:如果我想向数据库添加一个新表,我是否会将这个新的changeSet添加到同一个changelog文件中,或者我必须创建一个新的changelog.xml文件?
问题3:我相信当dbunit运行时它将运行变更集,但是这也是将插件添加到webapp模块所必需的(可能在部署货运插件之前运行liquibase目标)或者dbunit会处理这个问题吗?
问题4:subversion有助于保持更改日志的状态(假设只有一个更改日志参考问题2)
感谢您阅读本文并为您提供帮助.
所以你应该将你的liquibase执行绑定到类似的阶段
<phase>process-resources</phase>
Run Code Online (Sandbox Code Playgroud)
但我也使用弹簧执行器.因此,每次我的应用程序启动时,它都会启动一个liquibase执行程序来执行数据库中缺少的更改日志.这很好,因为当你准备好工作和测试时,liquibase已经更新了你的开发数据库而不是你的生产数据库.但是当您安装战争并启动webapp时,liquibase会自动处理它以使您的数据库进入当前状态.因此,在部署新版本之前,您不必记得做一些额外的事情.
将changelog.xml与includes包含在这样的changelog文件中
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
如果需要新表,请添加changelog-0002.xml文件并在主changelog.xml中引用它
看看答案1.我也会把你的webapp模块放进去.
你应该有很多changelog文件.所以这个问题不适用.
归档时间: |
|
查看次数: |
6665 次 |
最近记录: |