对于SQL服务器,Liquibase&的SQL文件命令被忽略

2022-08-11 00:00:00 database sql-server h2 liquibase

我正在尝试在我的ChangeLog中使用iquibase的sqlFile命令。 我的YAML文件中有以下内容:

  - changeSet:
      id: 2
      author: marios
      changes:
          - sqlFile:
              dbms: sql server, h2
              encoding: utf8
              endDelimiter: 
GO
              path: script.sql
              relativeToChangelogFile: true
              splitStatements: true
              stripComments: true

此处发生的情况是:

  • 第1号变更集(上面未显示)包括CREATE/INSERT Liquid BASE语句,并在H2和SQL Server上执行

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

  • 更改集2正在H2上执行,但在SQL服务器上将被忽略

我可以看到说明脚本在H2上成功运行的日志,但在SQL Server的情况下,我可以看到变更集2在2毫秒内被执行(我的理解是:我看到变更集2,但我不知道该做什么,所以我将忽略它)

问题是,如果我将"SQL SERVER"替换为"WARTHER"之类的词,我仍然会得到相同的结果,这让我认为我没有使用正确的词来要求Liquibase在SQL Server上运行脚本。

我假设正确的措辞应该是documentation中所述的‘SQL SERVER’,但这似乎不起作用。

有什么想法吗?


解决方案

已解决。 根据this,MS SQL Server的正确语法是‘MSSQL’

相关文章