Gre*_*reg 5 liquibase spring-boot liquibase-sql
Spring boot中有一个liquibase参数,比如说:
spring.liquibase.parameters.val1 = value1
Run Code Online (Sandbox Code Playgroud)
我想在 sql 文件中使用这个参数,如下所示:
insert into table1 (name, value) values ("nameOfValue", ${val1});
Run Code Online (Sandbox Code Playgroud)
不幸的是,到目前为止唯一有效的组合是添加 3 个单引号 - '''${val1}'''(给出'value1')并substring删除第一个和最后一个单引号。
是否有更简洁的方法在 SQL 变更集文件的 INSERT 语句中使用 liquibase 参数?
看起来无论变更集的选择格式如何,您都不需要执行任何特殊操作即可从属性中插入参数。
以下所有内容都将产生有效的插入语句。
SQL 变更集
--changeset me:2
insert into test1 (id, name) values (1, 'name 1');
insert into test1 (id, name) values (3, '${val1}');
Run Code Online (Sandbox Code Playgroud)
YAML 变更集
- changeSet:
id: 2
author: me
changes:
- sql:
endDelimiter: ;
sql: >-
insert into test1 (id, name) values (1, 'name 1');
insert into test1 (id, name) values (3, '${val1}');
Run Code Online (Sandbox Code Playgroud)
XML 变更集:
<changeSet id="2" author="me">
<sql endDelimiter=";">
insert into test1 (id, name) values (1, 'name 1');
insert into test1 (id, name) values (3, '${val1}');
</sql>
</changeSet>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1071 次 |
| 最近记录: |