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
624 0
|
存储 XML 数据库
Flowable 完整表结构说明(一)
Flowable 完整表结构说明
2771 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 支持多种脚本格式,功能更强大,适合复杂项目。本文将对比这两种工具的特点,并通过示例展示各自的优缺点,帮助开发者根据项目需求做出合适的选择。
2794 1
|
XML 存储 Java
SpringBoot集成Flowable:构建强大的工作流引擎
在企业级应用开发中,工作流管理是核心功能之一。Flowable是一个开源的工作流引擎,它提供了BPMN 2.0规范的实现,并且与SpringBoot框架完美集成。本文将探讨如何使用SpringBoot和Flowable构建一个强大的工作流引擎,并分享一些实践技巧。
2980 0
报错org.springframework.jdbc.UncategorizedSQLException: Error attempting to get column ‘xxx‘ from resu
报错org.springframework.jdbc.UncategorizedSQLException: Error attempting to get column ‘xxx‘ from resu
报错org.springframework.jdbc.UncategorizedSQLException: Error attempting to get column ‘xxx‘ from resu
|
运维 前端开发 Oracle
再有人问你WebSocket为什么牛逼,就把这篇文章发给他!
再有人问你WebSocket为什么牛逼,就把这篇文章发给他!2008年6月诞生了一个影响计算机世界的通信协议,原先需要二十台计算机资源才能支撑的业务场景,现在只需要一台,这得帮"抠门"老板们省下多少钱,它就是大名鼎鼎的WebSocket协议。很快在下一年也就是2009年的12月,Google浏览器就宣布成为第一个支持WebSocket标准的浏览器。WebSocket的推动者和设计者就是下面的Michael Carter,他设计的WebSocket协议技术现在每天在全地球有超过的设备在使用。
541 1
再有人问你WebSocket为什么牛逼,就把这篇文章发给他!
|
存储 安全 Java
Spring Security 6.x OAuth2登录认证源码分析
上一篇介绍了Spring Security框架中身份认证的架构设计,本篇就OAuth2客户端登录认证的实现源码做一些分析。
1006 2
Spring Security 6.x OAuth2登录认证源码分析
FlowableException: Could not update Flowable database schema: unknown version from database: ‘XXX‘
FlowableException: Could not update Flowable database schema: unknown version from database: ‘XXX‘
1222 0