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

Liquibase回滚,变更集未回滚

夹谷成龙
2023-03-14

我的问题是liquibase没有回滚我的一些变更集,这些变更集是在我试图回滚的变更集上设置标签后执行的。

例如,我创建了两个按正常方式执行的变更集(A和B)。然后,我创建了另一个变更集,它将变更集B的标记设置为Release1。并且这个变更集也按预期工作。但是,我随后执行另外5个变更集,所有变更集都使用回滚命令。而且这些也执行得很好。

java -jar liquibase.jar --changeLogFile=..\database\changelog-create.xml rollback release1

现在,这个回滚不应该回滚在执行release1标记之后执行的任何变更集吗?

如果是这样,这是我的问题,他们没有被回滚。但是在控制台我得到回滚是成功的。

共有1个答案

邢炯
2023-03-14

所以我发现了问题..命令行中的以下行--changelogfile=..\database\changelog-create.xml是错误的。changeLogFile应该是您希望开始回滚的文件。而我提供了带有标记的changelog文件

 类似资料:
  • 我有一个简单的liquibase变更集(下面),我正在尝试测试它。 这是应用程序启动后运行的第二个更改日志。 我故意编写了一个错误代码,其中我尝试创建列“new_2”两次,以强制回滚变更集中的所有条目:ADD_COL_2 然而,即使生成了回滚文件,并且我看到: 信息4/13/16 12:17 AM:LiquiBase:classpath:db/changelog/db.changelog-mult

  • 我使用LiquiBase3.4.1和MySQL56并通过spring boot运行Liquibase。 我有一个变更集,其中包括向现有表中添加一列。新的具有属性,并带有一个简单的select。 当我在该选择中出错时,变更集失败,迁移在该变更集停止。然而,新列被提交到数据库,但没有正确的值,而且,最糟糕的是,这个变更集没有标记为run!下一次运行迁移时,Liquibase再次尝试执行变更集,但失败了

  • case-0-3.sql: 我在进行任何更改之前标记数据库: 之后,我在每个文件应用后应用文件和标记数据库: 求求你,救命。可能有人在sql或其他格式中使用回滚操作?哪里错了?我做错了什么?它是工作液基功能吗?

  • case-0-3.sql: I在进行任何更改之前标记数据库: 之后,我应用文件,并在每个文件应用后标记数据库:

  • 我正在试用Liquibase,目的是尝试自动化数据库部署,并获得数据库更改的一些结构。 这里是我想评估自动回滚的变更集。现在,我试图在中引入一个错误,并希望在错误发生后运行,它还会从表中删除列。 http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd“> 但是真正发生的是表中没有条目。但表中的列仍然存在。我确实查看了liqui