【问题标题】:Spring liquibase recover when application is crashed应用程序崩溃时 Spring liquibase 恢复
【发布时间】:2017-06-07 16:53:49
【问题描述】:

我有使用 liquibase 定义数据库迁移的 Spring Boot 应用程序。 当我启动应用程序脚本时,等待 500 秒并检查应用程序的 http 状态。当它返回错误代码脚本会杀死应用程序进程并尝试再次启动应用程序。 应用程序在启动过程中有时会被终止,并且 liquibase 不会从 databasechangeloglock 中删除记录。当应用程序下次运行时它等待释放锁,但它没有发生并且应用程序被一次又一次地杀死。

在日志中,每个应用程序的最后一行是:

liquibase    : Waiting for changelog lock....
liquibase    : Waiting for changelog lock....

你有什么想法如何在脚本中解决这个问题吗?

【问题讨论】:

标签: spring liquibase


【解决方案1】:

Liquibase 更改由 2 个表控制,这些表将位于正在更改的架构中:

1) databasechangeloglock_table

2) databasechangelog_table

您的更改未运行,因为 databasechangeloglock 表设置了 LOCKED 列。您可以在再次启动服务器/应用程序之前手动取消设置。

在您执行此操作之前,请务必小心运行了哪些更改

如果您确定更改集尚未运行,您可以从两个更改日志表中删除相关行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    相关资源
    最近更新 更多