【问题标题】:liquibase is read-only : liquibase is locked and cannot unlock it (pod on openshift)liquibase 是只读的:liquibase 已锁定,无法解锁(openshift 上的 pod)
【发布时间】:2020-07-01 11:05:15
【问题描述】:

我正在使用 JHispter 来生成基于 React 前端和 Spring 后端的应用程序。我创建了一个 docker 镜像并将其推送到我的 OpenShift 项目中。

在我的本地机器上,一切正常,但是在 OpenShift 上创建 pod 时,启动时出现此错误:

Liquibase 无法正确启动,您的数据库尚未准备好:liquibase.exception.DatabaseException:执行 SQL UPDATE PUBLIC.DATABASECHANGELOGLOCK SET LOCKED = TRUE,LOCKEDBY = '-745467d44f-84gzt (10.128.42.54)',LOCKGRANTED = '时出错2020-06-30 19:02:03.817' 其中 ID = 1 AND LOCKED = FALSE:数据库是只读的; SQL 语句:UPDATE PUBLIC.DATABASECHANGELOGLOCK SET LOCKED = TRUE,LOCKEDBY = '-745467d44f-84gzt (10.128.42.54)',LOCKGRANTED = '2020-06-30 19:02:03.806' 其中 ID = 1 AND LOCKED = FALSE [90097 -200]

提前感谢您的帮助, 氪

【问题讨论】:

    标签: spring postgresql openshift liquibase


    【解决方案1】:

    显然之前的 Liquibase 运行没有完全完成,因此锁定标志没有重置。

    如果您确定没有并发脚本正在运行,只需重置数据库中的标志:

    update databasechangeloglock
       set locked = false, lockedby = null, lockgranted = null;
    

    【讨论】:

      猜你喜欢
      • 2021-12-15
      • 1970-01-01
      • 2023-03-03
      • 2013-03-09
      • 2015-08-03
      • 2020-08-06
      • 2020-03-22
      • 2022-01-26
      • 2017-08-10
      相关资源
      最近更新 更多