生成仅包含数据库变更日志 table 的 liquibase sql 文件
Generate liquibase sql file with only databasechangelog table
我想从我的变更日志文件生成一个 SQL 文件,该文件只包含数据库变更日志 table 并在其中插入数据库的当前状态。在 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 文件,而不仅仅是数据库变更日志 table 和 INSERTS。有什么解决办法吗?还是有另一种方法可以仅使用 databasechangelog table INSERTS 创建 SQL 文件?
我正在使用 liquibase 3.5.5.
对我来说,outputLiquibaseSql=true
和 changeLogSyncSQL
的组合有效。所以属性文件看起来像这样:
driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath: sqljdbc42.jar
url: offline:mssql?outputLiquibaseSql=true
changeLogFile: cl.xml
outputFile: output.sql
然后我通过命令行使用了liquibase changeLogSyncSQL
。然后 liquibase 生成了一个 SQL 文件,其中只有 databasechangelog table 语句。
我想从我的变更日志文件生成一个 SQL 文件,该文件只包含数据库变更日志 table 并在其中插入数据库的当前状态。在 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 文件,而不仅仅是数据库变更日志 table 和 INSERTS。有什么解决办法吗?还是有另一种方法可以仅使用 databasechangelog table INSERTS 创建 SQL 文件?
我正在使用 liquibase 3.5.5.
对我来说,outputLiquibaseSql=true
和 changeLogSyncSQL
的组合有效。所以属性文件看起来像这样:
driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
classpath: sqljdbc42.jar
url: offline:mssql?outputLiquibaseSql=true
changeLogFile: cl.xml
outputFile: output.sql
然后我通过命令行使用了liquibase changeLogSyncSQL
。然后 liquibase 生成了一个 SQL 文件,其中只有 databasechangelog table 语句。