【问题标题】:liquibase databasechangelog table in updateSql modeupdateSql模式下的liquibase databasechangelog表
【发布时间】:2018-09-14 15:29:57
【问题描述】:

当我从我的变更日志文件中生成一个 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 文件。

【问题讨论】:

    标签: sql command-line migration liquibase


    【解决方案1】:

    有一种方法可以通过在 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 文件中会很有帮助。

    【讨论】:

      【解决方案2】:

      您需要将正在使用的 URL 更改为非离线版本。

      【讨论】:

      • 离线版有没有办法做到这一点?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      • 1970-01-01
      相关资源
      最近更新 更多