仅当liquibase-changelogFile存在时才包括它

时间:2016-11-04 09:31:03

标签: liquibase

我使用liquibase 3.5.3提供数据库模式,初始数据和演示数据。

我有一个主更新日志文件和3个架构文件,并包含数据。

<?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"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
                  http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">

    <include relativeToChangelogFile="true" file="changes/db-schema.xml" />
    <include relativeToChangelogFile="true" file="changes/initialData.xml" />
    <include relativeToChangelogFile="true" file="changes/demoData.xml" />
</databaseChangeLog> 

演示数据仅在内部用于开发人员和测试/演示系统。我不想发布已发布的产品。但是如果我删除文件demoData.xml,我会因为丢失文件而收到错误。

是否有可能在不更改主文件的情况下满足此要求?我试着用

<includeAll relativeToChangelogFile="true" path="changes/" />

但是当使用相对路径时,liquibase中似乎存在一个错误。

Cannot find base path 'changelogFiles/master-file.xml'

我也知道liquibase中的context-attribute。但那不是我想要的。

所以,任何人都可以帮助我,请: - )

0 个答案:

没有答案