Liquibase包含上下文

时间:2018-07-04 19:13:23

标签: liquibase

我需要在databaseChangeLog中包括文件,但是这些文件可能不存在,具体取决于安装情况。 我的想法是在上下文中使用诸如include之类的东西,因此Liquibase仅在给出适当的上下文时才尝试打开文件:

<include file=”myFile” context=”myContext”/>

但是include标记中未使用上下文,并且Liquibase失败,因为该文件不存在。 我宁愿不使用includeAll,因为我需要将文件包含在主文件的特定部分中。 有任何想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

您正在使用哪个版本的liquibase?

“上下文”已添加到此commit中的include标记中。

还要查看这张吉拉机票:CORE-155

所以您的liquibase版本太旧了(低于3.5.0)?

答案 1 :(得分:0)

与Jens所说的一样,请确保您更新XML模式版本。他们在文档中提供的版本(当前为3.1)不支持此功能。将其更新为3.5对我来说有用。

<databaseChangeLog
    xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">

(请注意最后的3.5)