2

我有一个带有现有 db-schema 的 java ee 项目。现在我想为数据库使用 liquibase。

所以我在命令行从我现有的模式生成了一个变更日志。对现有数据库运行该更改日志mvn liquibase:changeLogSync,现在我可以毫无问题地使用 liquibase。

我的问题是:我可以changeLogSync在项目中使用该命令而不执行它吗?Fe 喜欢我使用带有变更集的新文件:

<include file="changelogs/db.changelog1.xml"/>

有没有类似的方法changeLogSync,比如 Ant 中的这个:

<changeLogSync
        changeLogFile="${db.changelog.file}"
        driver="${database.driver}"
        url="${database.url}"
        username="${database.username}"
        password="${database.password}"
        classpathref="classpath"
        >
</changeLogSync>
4

1 回答 1

2

当然。这是我们的:

<plugin>
  <groupId>org.liquibase</groupId>
  <artifactId>liquibase-maven-plugin</artifactId>
  <version>2.0.5</version>
  <dependencies>
     <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>${ojdbc.version}</version>
     </dependency>
  </dependencies>
  <configuration>
     <changeLogFile>${db.changelog.file}</changeLogFile>
     <driver>${database.driver}</driver>
     <url>${database.url}</url>
     <username>${database.username}</username>
     <password>${database.password}</password>
  </configuration>
  <executions>
     <execution>
        <phase>process-resources</phase>
        <goals>
           <goal>changeLogSync</goal>
        </goals>
     </execution>
  </executions>
</plugin>

当然可以根据您自己的 DB 风格和构建阶段偏好进行调整。

于 2013-01-30T22:52:19.570 回答