我创建了以下更改日志文件:
<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.1.xsd"
logicalFilePath="path-ignored"
>
<include file="db/changelog/usermanagement/db.changelog-master.xml"/>
<include file="initial/db.changelog-initial.xml" relativeToChangelogFile="true"/>
</databaseChangeLog>
我的所有文件都有logicalFilePath属性。当我使用maven插件更新我的数据库时,通过第一个文件(db / changelog / usermanagement / db.changelog-master.xml)包含的所有更改集在databasechangelog表的filename列中都有一个相对路径。 第二个文件(initial / db.changelog-initial.xml)包含的所有更改集都有&#34;路径忽略&#34;作为文件名。
当我删除所有内容并让服务器进行更新时(我使用spring boot),所有更改集的文件名都设置为logicalFilePath值(忽略路径)。这就是我的预期。
我正在使用liquibase 3.5.3。
databasechangelog脚本位于不同的项目中。这就是为什么我没有为第一个包含的文件将relativeToChangelogFile设置为true的原因。 当然,我可以将所有脚本移动到同一个项目中,但这不是我想要的。