我需要在databaseChangeLog中包括文件,但是这些文件可能不存在,具体取决于安装情况。 我的想法是在上下文中使用诸如include之类的东西,因此Liquibase仅在给出适当的上下文时才尝试打开文件:
<include file=”myFile” context=”myContext”/>
但是include标记中未使用上下文,并且Liquibase失败,因为该文件不存在。 我宁愿不使用includeAll,因为我需要将文件包含在主文件的特定部分中。 有任何想法吗?谢谢!
答案 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)