作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 liquibase maven plugin
通过 jenkins
更新数据库更改自动构建。
我的 pom.xml
中有这个
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.4.2</version>
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.5</version>
</dependency>
</dependencies>
<configuration>
<changeLogFile>${basedir}/src/main/resources/schema.sql</changeLogFile>
<changeLogFile>${basedir}/src/main/resources/data.sql</changeLogFile>
<driver>org.postgresql.Driver</driver>
<url>jdbc:postgresql://${db.url}</url>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
</configuration>
</plugin>
schema.sql
之前
data.sql
.当我在本地运行它时,它可以工作。当我通过 jenkins 运行它时
schema changeLogFile
第二个执行,所以为了让它工作,我反转了命令。
最佳答案
official goal documentation指定只预见一个条目:
changeLogFile:
Specifies the change log file to use for Liquibase.
- Type:
java.lang.String
- Required: No
- Expression:
${liquibase.changeLogFile}
changeLogFile
执行,你应该指定几个插件
executions
如下:
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>3.4.2</version>
<dependencies>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.5</version>
</dependency>
</dependencies>
<configuration>
<changeLogFile>${basedir}/src/main/resources/schema.sql</changeLogFile>
<changeLogFile>${basedir}/src/main/resources/data.sql</changeLogFile>
<driver>org.postgresql.Driver</driver>
<url>jdbc:postgresql://${db.url}</url>
<promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
</configuration>
<executions>
<execution>
<id>update-schema</id>
<phase>process-resources</phase>
<goals>
<goal>update</goal>
</goals>
<configuration>
<changeLogFile>${basedir}/src/main/resources/schema.sql</changeLogFile>
</configuration>
</execution>
<execution>
<id>update-data</id>
<phase>process-resources</phase>
<goals>
<goal>update</goal>
</goals>
<configuration>
<changeLogFile>${basedir}/src/main/resources/data.sql</changeLogFile>
</configuration>
</execution>
</executions>
</plugin>
executions
之外的所有执行指定一个通用配置。部分,然后每个
execution
我们只是定义了额外的配置,即每次不同的文件。
process-resources
的一部分阶段,这可能不是您想要的。因此,在这种情况下,最好将其移动到配置文件如下:
<profiles>
<profile>
<id>liquibase-executions</id>
<build>
<defaultGoal>process-resources</defaultGoal>
<plugins>
<!-- MOVE HERE liquibase plugin configuration and executions -->
</plugins>
</build>
</profile>
</profiles>
mvn -Pliquibase-executions -Ddb.url=IP:PORT/DB -Dliquibase.username=USERNAME
关于maven - liquibase maven 插件多个 changeLogFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36083214/
我有一个配置为运行 Liquibase 的 Spring Boot 应用程序。我正在尝试建立一个单独的项目来用作数据库管理项目。它将存储不同数据库的所有 liquibase.properties 文件
我正在使用 liquibase maven plugin通过 jenkins 更新数据库更改自动构建。 我的 pom.xml 中有这个 org.liquibase liquibase
据我所知 File structure我遇到了一个错误 liquibase.exception.SetupException: file:/src/main/liquibase/changes/000
在我现有的项目中实现 Liquibase 时,我遇到了一个愚蠢但烦人的问题。经过大量的努力后,我在启动应用程序时让它开始工作,它通过主变更日志和包含的变更日志/变更集运行。 当我添加 Luquibas
我是一名优秀的程序员,十分优秀!