首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用changelog文件的副本时,Liquibase回滚会静默失败

使用changelog文件的副本时,Liquibase回滚会静默失败
EN

Stack Overflow用户
提问于 2017-05-31 23:07:04
回答 1查看 238关注 0票数 0

我目前正在试用liquibase,并且在一个非常特定的场景中遇到了回滚问题。

我已经实现了一个Spring listener bean来从我的web应用程序中启动liquibase,我的想法是,要部署最新的web代码和数据库后端,您只需部署web代码,启动应用程序,liquibase就会在任何需要的数据库更改中运行。( changelog文件驻留在web应用程序中)

到目前一切尚好。这一切都运行得很好。当尝试进行回滚时,问题就出现了。因此,我尝试实现的场景是,要回滚应用程序版本,我应该简单地部署web应用程序的旧版本(使用changelog文件的旧版本),然后执行回滚到数据库的前一个状态。

这需要在应用程序属性文件中捕获回滚标记,并将changelog复制到web服务器可以访问的位置以运行回滚(因为如果我部署的是旧版本,应用程序中的changelog将不再具有回滚的更改集)。

问题是即使没有抛出错误,回滚步骤也不会发生。我怀疑当liwuibase尝试从web服务器上复制的changelog回滚更改时,不知何故MD5校验和会不同,所以不会回滚它们。

下面是一个示例changelog。我提供了一个logicalFilePath,并尝试使用validCheckSum来确保没有校验和失败。但是,回滚仍然不会发生。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>

<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd
http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd"
logicalFilePath="/liquibase/changelogs/sprint2/changelog.xml">


<changeSet id="5" author="Craig" runOnChange="true">
    <validCheckSum>*</validCheckSum>
    <comment>liquibase_proc.sql</comment>
    <sqlFile path="liquibase_proc.sql" relativeToChangelogFile="true"
        endDelimiter="\nGO" />
    <rollback>
        <sql>drop procedure liquibase_proc</sql>
    </rollback>
</changeSet>

<changeSet id="BUILD-1.2" author="build-auto">
    <validCheckSum>*</validCheckSum>
    <tagDatabase tag="BUILD-1.2" />
</changeSet>

</databaseChangeLog>

有人有什么想法吗?仅供参考,复制的changelog在unix机器上,而原始日志在windows上,这会有影响吗?

EN

回答 1

Stack Overflow用户

发布于 2017-06-01 16:35:26

请参阅上面的注释。解决方案是使用Liquibase类的多个实例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44288367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档