SQL 服务器忽略了 Liquibase 的 sqlFile 命令
Liquibase's sqlFile command being ignored for SQL server
我正在尝试在我的更新日志中使用 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
这里发生的是:
变更集编号 1(上面未显示)包括 create/insert liquibase 语句并在 h2 和 sql 服务器上执行
变更集 2 仅尝试执行提供的 sql 文件。
变更集 2 正在 h2 上执行,但在 sql 服务器的情况下被忽略
我可以看到日志表明脚本在 H2 上成功 运行 但在 SQL 服务器的情况下我可以看到变更集 2 在 2 毫秒内执行(我理解为:我看到了变更集 2,但我不明白该怎么做,所以我会忽略它)
问题是,如果我用 'whatever' 之类的词替换词 'sql server',我仍然会得到相同的结果,这让我觉得我没有使用正确的词来要求 liquibase 运行 SQL 服务器上的脚本。
我认为正确的措辞应该是 'sql server',如 documentation 中所述,但这似乎行不通。
有什么想法吗?
解决了。
根据 this,MS SQL 服务器的正确语法是 'mssql'
我正在尝试在我的更新日志中使用 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
这里发生的是:
变更集编号 1(上面未显示)包括 create/insert liquibase 语句并在 h2 和 sql 服务器上执行
变更集 2 仅尝试执行提供的 sql 文件。
变更集 2 正在 h2 上执行,但在 sql 服务器的情况下被忽略
我可以看到日志表明脚本在 H2 上成功 运行 但在 SQL 服务器的情况下我可以看到变更集 2 在 2 毫秒内执行(我理解为:我看到了变更集 2,但我不明白该怎么做,所以我会忽略它)
问题是,如果我用 'whatever' 之类的词替换词 'sql server',我仍然会得到相同的结果,这让我觉得我没有使用正确的词来要求 liquibase 运行 SQL 服务器上的脚本。
我认为正确的措辞应该是 'sql server',如 documentation 中所述,但这似乎行不通。
有什么想法吗?
解决了。 根据 this,MS SQL 服务器的正确语法是 'mssql'