Liquibase 常见问题解答

简介: Liquibase 常见问题解答
1. 表被锁,项目无法启动,报如下日志
[liquibase.lockservice.StandardLockService:42] Waiting for changelog lock....

解决办法: update databasechangeloglock set locked = false 后重启项目。多为liquibase执行异常、项目在执行liquibase时意外中断。

2. 已运行的changeSet修改后,liquibase检查篡改报错。
Caused by: liquibase.exception.ValidationFailedException: Validation Failed:
     8 change sets check sum

解决办法:删除对应的sql操作,及删除databasechangelog表中对应的记录后重启项目。

3. 网上有些文章说liquibase从低版本升级到高版本md5检查不兼容。

解决办法:在liquibase刚升级到3.0的时候确实存在,但在最新的版本中均修复了这个缺陷,可以放心升级。

4. 多租户支持(schema模式)

解决办法:将bean从SpringLiquibase改成MultiTenantSpringLiquibase

5. 加载配置文件错误

原因之一是:xml的命名空间版本号大于liquibase的jar包版本号

xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
            http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.8.xsd">
6. Springboot多模块情况下,本地可以正常启动Liquibase,但是打成jar后始终无法执行。

解决办法:需要将Liquibase的依赖,在Liquibase脚本所在对应的模块下加入Liquibase的依赖。

7.特殊符号在xml中需要转义
  • &启动报错 需要使用 & 替换
  • <> 需要 != 替换
  • <> 或其他特殊符号,可以使用 <![CDATA[特殊符号]]>
8.sql语句太长,liquibase 执行sql语句时自动将其中的json语句的格式弄乱

不能将整个sql语句放置一行,需手动换。

关注公众号:熊猫Jay字节之旅,了解更多 AI 技巧 ~

相关文章
|
SQL 存储 Java
SpringBoot集成Liquibase
SpringBoot集成Liquibase
663 0
|
Java 数据库连接 数据库
Spring Boot中配置Liquibase进行数据库管理
Spring Boot中配置Liquibase进行数据库管理
|
Java 数据库连接 数据库
Spring Boot中配置Liquibase进行数据库管理
Spring Boot中配置Liquibase进行数据库管理
|
SQL Java 数据库连接
数据库迁移不再难:Flyway 与 Liquibase 大比拼,哪个才是你的真命天子?
【9月更文挑战第3天】数据库迁移在软件开发中至关重要,尤其在使用 ORM 框架如 Hibernate 时。为确保部署时能顺利应用最新的数据库变更,开发者常使用自动化工具。Flyway 和 Liquibase 是当前流行的两种选择,均能有效管理数据库版本控制。Flyway 采用 SQL 脚本表示变更,简单易用;Liquibase 支持多种脚本格式,功能更强大,适合复杂项目。本文将对比这两种工具的特点,并通过示例展示各自的优缺点,帮助开发者根据项目需求做出合适的选择。
2885 1
|
XML 存储 Java
SpringBoot集成Flowable:构建强大的工作流引擎
在企业级应用开发中,工作流管理是核心功能之一。Flowable是一个开源的工作流引擎,它提供了BPMN 2.0规范的实现,并且与SpringBoot框架完美集成。本文将探讨如何使用SpringBoot和Flowable构建一个强大的工作流引擎,并分享一些实践技巧。
3271 0
idea 打不开,电脑上下了多个IDEA,新下的IDEA双击打不开,新版IDEA打不开,超实用简单解决办法
一个简单实用的方法来解决新安装的 IntelliJ IDEA 打不开的问题,通常是由于旧版本未卸载干净导致配置文件冲突,建议删除旧版的配置文件来解决这个问题。
3354 1
|
运维 前端开发 Oracle
再有人问你WebSocket为什么牛逼,就把这篇文章发给他!
再有人问你WebSocket为什么牛逼,就把这篇文章发给他!2008年6月诞生了一个影响计算机世界的通信协议,原先需要二十台计算机资源才能支撑的业务场景,现在只需要一台,这得帮"抠门"老板们省下多少钱,它就是大名鼎鼎的WebSocket协议。很快在下一年也就是2009年的12月,Google浏览器就宣布成为第一个支持WebSocket标准的浏览器。WebSocket的推动者和设计者就是下面的Michael Carter,他设计的WebSocket协议技术现在每天在全地球有超过的设备在使用。
556 1
再有人问你WebSocket为什么牛逼,就把这篇文章发给他!
FlowableException: Could not update Flowable database schema: unknown version from database: ‘XXX‘
FlowableException: Could not update Flowable database schema: unknown version from database: ‘XXX‘
1276 0
|
SQL 前端开发 关系型数据库
芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略
芋道框架万字详解(前后端分离)、若依框架、yudao-cloud保姆级攻略
20202 6
|
JavaScript Java
EL表达式
这篇文章介绍了EL表达式的基本概念、语法、保留关键字、运算符及其优先级,并详细解释了如何在EL中访问数据、进行算术运算、判断对象是否为空、逻辑关系运算和条件运算。
EL表达式