在updateSql模式下的liquibase databasechangelog表

时间:2018-09-14 15:29:58

标签: sql command-line migration liquibase

当我从变更日志文件中生成SQL文件时,数据库变更日志表在与生成的SQL文件相同的文件夹中创建为CSV文件,但我希望将其作为SQL文件中的表使用。我使用liquibase 3.5.5。通过命令行并使用了以下命令:

 .\liquibase --url=offline:mssql? `
--changeLogFile="C:\Users\Ferid\Documents\Box Sync\PRIVATE_Ferid\liquibase-3.5.5-bin\Changelog.xml" `
--outputFile="C:\Users\Ferid\Documents\Box Sync\PRIVATE_Ferid\liquibase-3.5.5-bin\all.sql" `
updatesql

我没有找到在SQL文件中集成databasechangelog表的命令。仅当我使用update而不是updatesql语句但需要SQL文件时,它才集成。

1 个答案:

答案 0 :(得分:2)

有一种方法可以通过在URL中使用outputLiquibaseSql参数来包含databasechangelog表

.\liquibase --url=offline:mssql?outputLiquibaseSql=true `
--changeLogFile="C:\Users\Ferid\Documents\Box Sync\PRIVATE_Ferid\liquibase-3.5.5-bin\Changelog.xml" `
--outputFile="C:\Users\Ferid\Documents\Box Sync\PRIVATE_Ferid\liquibase-3.5.5-bin\all.sql" `
updatesql

这有时会导致CMD或PowerShell出现问题(由于问号),因此将其包含在liquibase.properties文件中会很有帮助。