在 liquibase 4.0 中的 sqlfile 标签中传递参数

问题描述

我正在制作一个简单的 CI/CD 管道,其中有一些我需要使用 liquibase 在 aws RDS 上运行的 sql 文件。这里模式名称可以不同,取决于提取代码的分支。 createSchema.sql 文件中的示例 sql

create schema if not exist '${schemaName}'

在我的 changelog.xml 文件中,我正在做这样的事情:

<changeSet author="liquibase-docs" id="sqlFile-example">
     <sqlFile 
        path="createSchema.sql"
        splitStatements="true"
        stripComments="true">
<property name="schemaName" value="test_order"/>
</sqlFile>
</changeSet>

但是这东西行不通。我也无法找到任何关于在 liquibase 的外部文件中传递参数的可靠信息。请让我知道我需要做些什么来修复它。

解决方法

我使用 Liquibase CLI,您可以从命令行传入参数(键=值):

liquibase.bat 更新 -Dengine=myisam

更多信息:https://docs.liquibase.com/tools-integrations/cli/home.html