我有一个Spring Boot应用程序,该应用程序已使用liquibase定义了数据库迁移.
当我启动应用程序脚本时,请等待500s并检查应用程序的http状态.当它返回错误代码时,脚本将终止应用程序进程并尝试再次启动应用程序.
有时在启动过程中应用程序被杀死,并且liquibase不会从databasechangeloglock中删除记录.当应用程序下次运行时,它会等待释放锁,但不会发生,并且一次又一次地杀死应用程序.
在日志中,每个应用程序的最后几行是:
liquibase : Waiting for changelog lock....
liquibase : Waiting for changelog lock....
您对在脚本中解决此问题有任何想法吗?
解决方法:
Liquibase的更改由2个表控制,这些表将在要更改的模式中:
您的更改未运行,因为databasechangeloglock表已设置LOCKED列.您可以在重新启动服务器/应用程序之前手动取消此设置.
在执行此操作之前,请务必小心
如果确定更改集尚未运行,则可以从两个更改日志表中删除relavent行.
标签:liquibase,spring 来源: https://codeday.me/bug/20191111/2022486.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。