Spring liquibase 在应用程序崩溃时恢复

kry*_*nio 5 spring liquibase

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

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

liquibase    : Waiting for changelog lock....
liquibase    : Waiting for changelog lock....
Run Code Online (Sandbox Code Playgroud)

您对如何在脚本中解决此问题有任何想法吗?

Ess*_*Boy 3

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

1)数据库更改日志lock_table

2)数据库changelog_表

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

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

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