当我从更改日志文件生成SQL文件时,databasechangelog表在与生成的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文件。
有一种方法可以使用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文件中会很有帮助。
您需要将您使用的URL更改为非脱机版本。