与Maven液化

与Maven液化,maven,liquibase,Maven,Liquibase,我想为一个JavaEE项目启动Liquibase,这样我就可以在生产服务器上轻松地进行DB更新 我很难理解一开始我需要什么。我读过很多例子,你需要下载liquibase核心,提取它并将.jar放到你的路径中。我认为Maven不需要这样做 在pom.xml中包含依赖项(核心和liquibase maven插件)应该足够了/应该是相同的? <dependency> <groupId>org.liquibase</groupId>

我想为一个JavaEE项目启动Liquibase,这样我就可以在生产服务器上轻松地进行DB更新

我很难理解一开始我需要什么。我读过很多例子,你需要下载liquibase核心,提取它并将.jar放到你的路径中。我认为Maven不需要这样做

在pom.xml中包含依赖项(核心和liquibase maven插件)应该足够了/应该是相同的?

    <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>