当我从变更日志文件中生成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文件时,它才集成。
答案 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文件中会很有帮助。