我运行“mvn liquibase:diff”并已配置diffChangeLogFile,但diffChangeLogFile文件只有头信息。(如下所示)
diff.changelog.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" 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.2.xsd http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd"/>
但是我使用相同的配置以命令行方式运行liquibase diff,diffChangeLogFile文件中有正确的信息。
我的 pom.xml ,如下所示:
<execution>
<id>diff</id>
<configuration>
<changeLogFile>src/main/resources/db/insert_person6.xml</changeLogFile>
<driver>org.postgresql.Driver</driver>
<url>${liquabase.url}</url>
<username>${liquabase.username}</username>
<password>${liquabase.urpasswordl}</password>
<referenceUrl>${liquabase.referenceUrl}</referenceUrl>
<referenceUsername>${liquabase.referenceUsername}</referenceUsername>
<referencePassword>${liquabase.referencePassword}</referencePassword>
<diffChangeLogFile>${liquabase.diffChangeLogFile}</diffChangeLogFile>
</configuration>
<goals>
<goal>diff</goal>
</goals>
</execution>
有没有人遇到同样的问题?
答案 0 :(得分:1)
这应该有效,并且在写入diffChangeLogFile的情况下,必须正确设置参数。
您看到的空文件通常是通过比较两个相同的数据库引起的。也许您的liquibase.url和liquibase.refereneceUrl设置不正确。
如果你运行liquibase:diff而没有diffChangelogFile参数,它应该创建一个包含连接信息的差异报告。看看它是否符合您的预期。