Jakarta ee 与maven的changeLogSync

Jakarta ee 与maven的changeLogSync,jakarta-ee,maven,liquibase,Jakarta Ee,Maven,Liquibase,我有一个带有现有db模式的JavaEE项目。现在我想对db使用liquibase 因此,我在命令行从现有模式生成了一个变更日志。使用mvn liquibase:changeLogSync对现有数据库运行变更日志,现在我可以毫无问题地使用liquibase了 我的问题是:我可以在项目中使用changeLogSync命令而不执行它吗?F.e.就像我使用带有变更集的新文件一样: <include file="changelogs/db.changelog1.xml"/> 当然。这是我们的

我有一个带有现有db模式的JavaEE项目。现在我想对db使用liquibase

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

我的问题是:我可以在项目中使用
changeLogSync
命令而不执行它吗?F.e.就像我使用带有变更集的新文件一样:

<include file="changelogs/db.changelog1.xml"/>
当然。这是我们的:

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

org.liquibase
liquibase maven插件
2.0.5
com.oracle
ojdbc6
${ojdbc.version}
${db.changelog.file}
${database.driver}
${database.url}
${database.username}
${database.password}
过程资源
更改同步

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

哪里是
changeLogSync
?我已经有了数据库的自动
更新
配置
。我需要
changeLogSync
,因为它将所有
更改集标记为针对数据库运行。F.e.当我包括
生成的变更日志
文件时。该命令将文件中的
变更集标记为run,而liquibase不会尝试运行这些命令,并且会收到刚刚编辑的“table ready exists”之类的错误。我可能会补充说,这对于构建脚本来说没有多大意义;我不认为你会想更改日志同步每一个新的更改,你会想应用它。但是,嘿,这是你的问题。谢谢你的提示。我去看看。不,不是每一个新的变化都有意义。我想这只是第一次将其用于一个项目,该项目必须部署在具有现有数据库的生产服务器上。所以第一个版本有这个目标,你不必干涉manuell。只需部署项目,它就会自动进行同步,然后进行更新。接下来的版本将只更新目标。。虽然我们在生产环境中部署Liquibase也面临同样的挑战,但除了手动运行changelogSync命令之外,我们实在别无选择。我们使用了Maven插件和您在原始问题中描述的命令。对我们来说,我们发现自动化更新步骤的最大好处是,将其作为一个一次性步骤,在QA和生产DBs上手动运行changelogSync。此外,如果您对答案满意,我们将非常感谢您的接受。我对你的问题投了赞成票,我没有忘记你。只是没有时间测试
changeLogSync
是否有效。感谢分享您的知识和经验:)您能告诉我
changelogSync
有什么好处吗?也许在这里:。我觉得我错过了一些要点。。
<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>