我有迁移的目录结构如下:
DB1:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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-2.0.xsd">
<include file="v000/master.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>
db2 :(尝试包含db1 / update.xml)架构,因为我需要扩展/添加到db1架构)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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-2.0.xsd">
<include file="../db1/update.xml" />
</databaseChangeLog>
DB1&GT; liquibase --changeLogFile = update.xml更新,成功
但是
db2&gt; liquibase --changeLogFile = update.xml validate
显示db1 / v000 / master.xml
中包含的表的验证错误<include file="tables/12_createTable_audiences.xml" />
Error Reading Migration File:tables/12_createTable_audiences.xml .....
如果我通过跟踪更改来修复错误(对于每个表:在db1 / v000 / mater.xml中)
<include file="../tables/12_createTable_audiences.xml" relativeToChangelogFile="true"/>
db2&gt; liquibase --changeLogFile = update.xml验证/更新正常工作
但是
db2&gt; liquibase --changeLogFile = update.xml dbDocs~ / docs / db1
表12_createTable_audiences.xml
失败有没有人知道如何解决这些问题(路径问题)?为什么update和dbDoc命令对于相同的路径行为不同?
感谢您的支持。
答案 0 :(得分:0)
尝试从根目录中指定包含文件中的路径,而不是使用relativeToChangelogFile
属性。像
<iuclude file = "./Update/db1/update.xml" />