9

我确实运行了这个查询来生成 .sql 格式的 changelogFile

liquibase --driver=com.mysql.jdbc.Driver
          --classpath=mysql-connector-java-5.1.24-bin.jar
          --changeLogFile=test_diff.sql
          --url="jdbc:mysql://localhost/provision"
          --用户名=root
          --密码=**
           diffChangeLog
          --referenceUrl=jdbc:mysql://localhost/provision_old
          --referenceUsername=root
          --referencePassword=***

我收到以下错误

Liquibase 更新失败:没有与文件名或扩展名“sql”关联的序列化程序
严重 5/2/13 下午 12:50:liquibase:没有与文件名或扩展名“sql”关联的序列化程序
java.lang.RuntimeException:没有与文件名或扩展名“sql”关联的序列化程序

是否可以生成 .sql 格式的更改日志文件?

4

3 回答 3

3

添加参数:

--changeLogFile=fileName.databaseType.sql

这是我的工作示例(liquibase 3.6.3):

liquibase.bat^
    --changeLogFile=databaseChangeLog.oracle.sql^
    --driver=oracle.jdbc.OracleDriver ^
    --url=jdbc:oracle:thin:@//localhost:1521/orcl ^
    --username=uat ^
    --password=uat ^
    diffChangeLog ^
    --referenceDriver=oracle.jdbc.OracleDriver ^
    --referenceUrl=jdbc:oracle:thin:@//localhost:1521/orcl ^
    --referenceUsername=test ^
    --referencePassword=test ^
于 2019-02-16T11:33:27.227 回答
1

试试这个参数:

--changeLogFile="./changelog.mysql.sql"

可以参考这里

于 2017-01-06T10:14:53.443 回答
0

用 .sql 指定更改日志文件名应该会有所帮助

 --changeLogFile="C:\db-changelog.oracle.sql"
于 2018-10-23T10:02:02.920 回答