仅使用databasechangelog表生成liquibase sql文件

时间:2018-09-21 10:49:43

标签: database properties liquibase changelog

我想从我的变更日志文件中生成一个SQL文件,该文件仅包含databasechangelog表并在其中插入数据库的当前状态。在liquibase文档中,有一篇文章(http://www.liquibase.org/2015/07/without-a-connection.html)写在其中,您可以将outputLiquibaseSql设置为data_only,但在我的情况下不起作用。我的属性文件如下:

driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath: sqljdbc42.jar
url: offline:mssql?outputLiquibaseSql=data_only
changeLogFile: cl.xml
outputFile: output.sql

但是当我通过命令行使用updateSql时,它将生成包含所有语句的SQL文件,而不仅是databasechangelog表和INSERTS。有没有解决办法?或者还有另一种方法可以仅使用databasechangelog表INSERTS创建SQL文件? 我正在使用liquibase 3.5.5。

1 个答案:

答案 0 :(得分:0)

对我来说,outputLiquibaseSql=truechangeLogSyncSQL的组合起作用了。因此,属性文件如下所示:

driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath: sqljdbc42.jar
url: offline:mssql?outputLiquibaseSql=true
changeLogFile: cl.xml
outputFile: output.sql

,然后通过命令行使用liquibase changeLogSyncSQL。然后liquibase生成了一个仅包含databasechangelog表语句的SQL文件。