当前位置: 首页 > 知识库问答 >
问题:

如何在基于Spring启动 maven 的项目中间引入液碱

杜苏燕
2023-03-14

`我已经在运行这个项目,并试图在项目中途引入液化酶。这是一个基于spring boot maven的项目。

我正在按照以下步骤操作。

1.liquibase.properties

url=jdbc:postgresql://localhost:5432/cc
username=postgres
password=deadline123
driver=org.postgresql.Driver
outputChangeLogFile=src/main/resources/db/changelog/db.changelog-master.yaml
runOnChange=true
referenceUrl=jdbc:postgresql://localhost:5432/cc
referenceUsername=postgres
referencePassword=deadline123
changelogFile=src/main/resources/db/changelog/db.changelog-master.yaml
diffChangeLogFile=src/main/resources/diff.yaml
  1. 运行命令以生成当前数据库状态的更新日志 mvn liquibase:generateChangeLog
  2. 然后运行命令以同步更改日志并在DB mvn liquibase中创建条目:changelogSync
  3. 启动我的应用程序,但它抛出错误关系已经存在。我不知道为什么 liquibase 正在执行已经执行的变更集?我正在使用液基 4.6.3

共有2个答案

章远航
2023-03-14

问题出在文件路径< code > src/main/resources/db/changelog/db . changelog-master . YAML

liquibase:changelogSync 在日志同步中添加了上述文件路径,启动时的 liquibae 实际上采用类路径类路径:/db/changelog/db.changelog-master.yaml

段干玺
2023-03-14

Liquibase不将更改与实际的表进行比较,它只跟踪已经执行的更改集(它为那个名为< code>databasechangelog的表创建另一个表)。

话虽如此,您必须确保 liquibase 执行您的变更集,并带有一个前提条件,即“如果有任何失败,请将其标记为已执行”。它可以像这样实现:

<preconditions onFail="MARK_RAN">
    <not>
        <tableExists tableName="person"/>
    </not>
</preconditions>

这个例子以及更多信息可以在 https://www.liquibase.com/blog/adding-liquibase-on-an-existing-project

 类似资料:
  • 我将计划将我基于Spring的java项目转换成maven项目,所以在这个对话中,我应该遵循什么样的项目结构和配置

  • 我想创建Spring云项目,其中父项目是我的常见项目,所有其他模块都依赖于这个自定义的父项目,而不是作为父项目的“org.springframework.cloud”。 我不想在我的父母pom中添加这个 简单地说,我不想在maven模块层次结构中添加spring云作为父级。 如果使用spring初始值设定项spring初始值设定项生成项目,则 http://maven.apache.org/xsd

  • 在Eclipse中,我有两个项目: 大天使。core——一个Maven项目 ArchangelWEB-一个动态Web项目(为Tomcat构建)。 第一个,大天使。core拥有所有的基本代码,并使用Maven来解决依赖关系。第二个是核心项目之上的Web添加。这只有特定于演示/视图的代码。我想把它们分开,因为我将来可能会有其他项目依赖于核心,我不希望核心项目依赖于Web库。 现在,在大天使网的建造路径

  • 我创建了一个android项目(项目A),并在其中导入了另一个项目(项目B),其中包含: - 现在我想从项目A调用位于项目B内部的活动。 我用过: 但我明白了 类不成立异常 如何解决这个问题? 使现代化 我发现我需要使用以下方法将项目B作为依赖项添加到项目a中: 项目结构/依赖关系/ 当我试图构建我得到这个错误: 错误:无法确定任务的依赖项:app: compileDebugJavaBackJav

  • 尽管我提出了问题https://github.com/spring-projects/spring-boot/issues/662为了提供一个spring boot starter liquibase starter模块,今天我发现已经有了某种集成。 Spring Boot已经包含https://github . com/spring-projects/spring-boot/tree/maste

  • 问题内容: 我变得有点疯狂,因为我找不到在将使用Maven构建的Java War项目中设置angular 4应用程序的指南。这是因为我想将其运行到wildfly服务器中。 有什么帮助吗? 谢谢 问题答案: 我有一个类似的要求,即要有一个源项目,其中要有Java Web服务项目以及angular项目(基于angular- cli的项目),并且maven构建应该在其中包含所有角度文件的情况下进行战争。