我升级到 Liquibase 版本 4.17.2,从那时起,我在尝试生成参考模式时遇到一个奇怪的错误:运行 Liquibase 时出现意外错误:找到 2 个路径为“schema_changelog.xml”的文件:
- file:///c:/dev/myProject/myPath/schema/schema_changelog.xml
- file:///C:/dev/myProject/myPath/schema/schema_changelog.xml
搜索路径:
- c:\dev\myProject/myPath\schema
您可以使用 liquibase.searchPath 设置限制搜索路径以删除重复项。或者,如果您知道这些是完全相同的文件,您可以设置 liquibase.duplicateFileMode=WARN。
有关更多信息,请使用 --logLevel 标志
我有以下设置并在批处理文件中调用:
SET changelog=schema_changelog.xml
CALL myliquibase --driver=%driver% --url=%url%/%refschema% --username=%user% --password=%passwordforliqui% --changeLogFile=%changelog% 更新
myliquibase.bat 文件如下所示:
"@echo off
if "%OS%" == "Windows_NT" setlocal
setlocal enabledelayedexpansion
rem %~dp0 is expanded pathname of the current script under NT
set LIQUIBASE_HOME="%~dp0"\liquibase
set CP=.
for /R %LIQUIBASE_HOME% %%f in (liquibase*.jar) do set CP=!CP!;%%f
for /R %LIQUIBASE_HOME%\lib %%f in (*.jar) do set CP=!CP!;%%f
for /R %LIQUIBASE_HOME%\internal\lib %%f in (*.jar) do set CP=!CP!;%%f
rem get command line args into a variable
set CMD_LINE_ARGS=%*
IF NOT DEFINED JAVA_OPTS set JAVA_OPTS=
java -cp "%CP%" %JAVA_OPTS% liquibase.integration.commandline.Main %CMD_LINE_ARGS%`
我不熟悉 Liquibase,但我应该生成并比较模式,它在升级前运行良好。
我可以设置或配置什么来避免此错误?
我试图以某种方式设置 duplicateFileMode,但我不知道应该如何正确设置它。