与Maven液化
我想为一个JavaEE项目启动Liquibase,这样我就可以在生产服务器上轻松地进行DB更新 我很难理解一开始我需要什么。我读过很多例子,你需要下载liquibase核心,提取它并将.jar放到你的路径中。我认为Maven不需要这样做 在pom.xml中包含依赖项(核心和liquibase maven插件)应该足够了/应该是相同的?与Maven液化,maven,liquibase,Maven,Liquibase,我想为一个JavaEE项目启动Liquibase,这样我就可以在生产服务器上轻松地进行DB更新 我很难理解一开始我需要什么。我读过很多例子,你需要下载liquibase核心,提取它并将.jar放到你的路径中。我认为Maven不需要这样做 在pom.xml中包含依赖项(核心和liquibase maven插件)应该足够了/应该是相同的? <dependency> <groupId>org.liquibase</groupId>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>2.0.5</version>
<type>maven-plugin</type>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
<version>2.0.5</version>
</dependency>
org.liquibase
liquibase maven插件
2.0.5
maven插件
org.liquibase
液化酶核心
2.0.5
这可能是一个愚蠢的问题,但我几乎没有使用Maven的经验,也没有使用Liquibase的经验。在我看来,您对将Liquibase添加到项目中的方法有点困惑。我们不应该将liquibase理解为一个简单的依赖项,它是一个maven插件 我认为,如果您看到我的一些配置文件以更好地理解我所指的内容,这一点可能会很清楚: pom.xml: 请注意dsv.properties文件。每个liquibase上下文都需要一个这样的适当属性文件来指定模式和变更日志。它提供了实时处理不同环境(dsv、本地、测试、pro等)的能力,并仅在指定的环境/上下文中应用更改 项目文件夹: 对于我们的团队来说,这种结构非常干净,因为我们将所有变更日志按版本和功能、过程和视图进行组织,并将其与根数据库变更分开,但这里最重要的是,每个变更都有相关的问题/任务代码,我们可以很容易地跟踪所有内容 mvn: 要执行liquibase插件,您应该执行该mvn命令:
mvn liquibase:update
由于liquibase pom的插件参数,您还可以自动更新数据库:
<execution>
<phase>process-resources</phase>
<goals>
<goal>update</goal>
</goals>
</execution>
过程资源
更新
我们在几个项目中使用liquibase,在使用它的优点方面没有深入讨论,我们的开发团队必须有数据库版本控制、历史记录、不同项目的通用逻辑和维护。示例:-我在“您可以在中央存储库中找到Liquibase core和Maven插件的所有版本。”似乎我完全误解了它。我认为我需要两者(core和Maven插件).但是根据这个例子,如果我使用liquibase maven插件,我根本不需要liquibase core?maven会自动将liquibase core作为一个依赖项。签出POM文件:感谢您的解释和链接。很高兴了解该网站,这对未来也会有帮助。非常感谢:)
mvn liquibase:update
<execution>
<phase>process-resources</phase>
<goals>
<goal>update</goal>
</goals>
</execution>