You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Spring Boot+H2数据库环境下解锁Liquibase锁的方法求助

解决Liquibase DatabaseChangelogLock锁表问题(H2文件数据库)

方案1:通过H2独立控制台直接修改锁表

无需启动Spring Boot应用,直接连接H2文件数据库修改锁状态:

  • 下载与项目依赖版本一致的H2数据库独立JAR包
  • 启动H2控制台:
    java -jar h2-<版本号>.jar
    
  • 在H2控制台连接界面,填写与Spring Boot配置完全匹配的参数:
    • JDBC URL:例如 jdbc:h2:file:./src/main/resources/data/mydb(需对应项目中spring.datasource.url配置)
    • 用户名/密码:匹配项目中spring.datasource.username和spring.datasource.password
  • 连接成功后执行解锁SQL:
    UPDATE DATABASECHANGELOGLOCK 
    SET LOCKED = FALSE, 
        LOCKGRANTED = NULL, 
        LOCKEDBY = NULL 
    WHERE ID = 1;
    

方案2:使用Liquibase命令行/插件解锁

利用Liquibase官方工具直接操作数据库解锁:

命令行方式

  • 安装Liquibase命令行工具,或复用项目依赖中的Liquibase库
  • 创建liquibase.properties配置文件,填入H2连接信息:
    url=jdbc:h2:file:./src/main/resources/data/mydb
    username=sa
    password=
    driver-class-name=org.h2.Driver
    changeLogFile=src/main/resources/db/changelog/db.changelog-master.yaml
    
  • 执行解锁命令:
    liquibase unlock
    

Maven/Gradle插件方式

  • Maven:项目根目录执行:
    mvn liquibase:unlock
    
  • Gradle:项目根目录执行:
    gradle liquibaseUnlock
    
    注:需确保项目已配置Liquibase插件及H2数据库依赖

注意事项

  • 必须保证H2连接参数与Spring Boot配置完全一致,否则无法定位到目标文件数据库
  • 解锁后重启Spring Boot应用即可恢复正常

内容的提问来源于stack exchange,提问作者Rishav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 21:12:19