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

带Spring靴的Liquibase回滚

甄越
2023-03-14

我是一名实习生,我正在尝试学习Liquibase,看看我们是否可以将其用于我们的应用程序。我使用了Git Bash中的Liquibase,没有任何问题(在更新和回滚方面都很好),然后我尝试将Liquibase与Spring Boot项目一起使用,看看是否能够更新数据库。我做到了,我通过Spring Boot创建并更新了db。但接下来我想做一些回滚,但我不能,我不知道该做什么。我试着在Git Bash的文件夹中这样做,你可以在图片中看到,那里是我的Spring Boot项目的变更日志,但Liquibase说,这些变更尚未应用,如果我尝试更新,则会出现错误,因为表存在(事实上,Spring Boot应用程序在早些时候创建了这些表)

Git Bash

以下是代码片段,希望它们对您理解问题有所帮助:

application.yml

更新日志

最后我发现了问题!!使用liquibase变更日志同步命令,我注意到在DATABASE CHANGELOG表中,对于Spring的变更集和其他Git Bash的变更集,我为FILENAME列设置了不同的值,如您在此处所见。

为了避免这个问题,我在变更日志中使用了如下logicalFilePath属性。现在一切都正常了,我可以从Git Bash回滚。

共有1个答案

祖翰音
2023-03-14

我很高兴你能想出解决办法。作为一个新手,我想告诉你免费的酒类认证!你可以在利基巴斯大学学习所有的利基巴斯基础知识和最佳实践

 类似资料:
  • 我正在迁移一个由liquibase管理的现有数据库。 我已经有了更新日志。该应用程序是一个Spring启动应用程序,我用更新了pom,并设置了Spring液化基属性。 我对一个空数据库进行了测试,运行正常,liquibase在应用程序启动时执行changelog并维护< code>DATABASECHANGELOG表。 现在我面临的问题是数据库已经存在于所有其他环境中,我只想在完成 liquiba

  • 我有两个项目。我用Angular2 cli构建的Angular2应用程序和只为Angular2应用程序服务的Spring Boot应用程序。我用构建Angular2应用程序,它会生成一个文件夹。然后,我将文件夹的内容放在Spring Boot应用程序的中。 我的Spring启动应用程序有两个文件。 Spring Boot应用程序类: 及其应用。属性文件: 它工作得很好,但是如果我转到一个url并点

  • 我是Spring Boot和MongoDb的新手。尝试使用Mongo存储库和Spring Boot的一些示例。但在浏览了一些文档后发现,Mongo模板是一个更好的选择。无法使用Mongo模板示例获得正确的Spring Boot。 > 有人能帮我举个同样的例子吗? 在尝试Mongo模板时,我们是否需要创建用户定义的存储库界面并扩展存储库或CRUD存储库?

  • 我正在使用jasypt spring boot starter:1.14和spring-boot-2.0.0。M2 如果application.properties在类路径(src/main/资源)中可用,它工作得非常好 即使应用程序运行正常,Spring boot也能正常工作。属性放在运行spring boot jar的文件夹中(默认情况下,它在当前文件夹中查找application.prope

  • 我有一个Spring Boot项目,使用Jersey作为我的REST服务,并使用AngularJS进行我的前端开发。当我在不使用任何控制器的情况下运行它并转到index.html(位于resource/statig/index.html中)时,它运行得很好。当我添加一个控制器时,它呈现给出字符串“index.html”作为输出。Spring Boot配置: 球衣配置: 控制器类:

  • 3)引用了mongeez.location={myDir}/db中的位置 我在启动应用程序时处于异常之下 由:com.mongodb.mongoCommandException引起:命令失败,错误为59(CommandNotFound):“在服务器本地主机:27017上没有这样的命令:'$eval'.完整的响应是{“ok”:0.0,“errmsg”:“no suck command:'$eval'