SQL Server 忽略 Liquibase 的 sqlFile 命令

mar*_*k89 1 database sql-server h2 liquibase

我正在尝试在我的更改日志中使用 liquibase 的 sqlFile 命令。我的 yaml 文件中有以下内容:

  - changeSet:
      id: 2
      author: marios
      changes:
          - sqlFile:
              dbms: sql server, h2
              encoding: utf8
              endDelimiter: \nGO
              path: script.sql
              relativeToChangelogFile: true
              splitStatements: true
              stripComments: true
Run Code Online (Sandbox Code Playgroud)

这里发生的是:

  • 变更集编号 1(上面未显示)包括创建/插入 liquibase 语句,并且正在 h2 和 sql server 上执行

  • 变更集 2 仅尝试执行提供的 sql 文件。

  • 变更集 2 正在 h2 上执行,但在 sql server 的情况下被忽略

我可以看到日志指出脚本在 H2 上成功运行,但在 SQL Server 的情况下,我可以看到变更集 2 在 2ms 内执行(我理解为:我看到了变更集 2,但我不明白该怎么做我会无视)

问题是,如果我将“sql server”这个词替换为“whatever”之类的词,我仍然会得到相同的结果,这让我认为我没有使用正确的词来要求 liquibase 在SQL 服务器。

我认为正确的措辞应该是文档中所述的“sql server”,但这似乎不起作用。

有任何想法吗?

mar*_*k89 5

解决了。根据,MS SQL Server 的正确语法是“mssql”