Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database liquibase能否在sql中具有配置占位符_Database_Liquibase - Fatal编程技术网

Database liquibase能否在sql中具有配置占位符

Database liquibase能否在sql中具有配置占位符,database,liquibase,Database,Liquibase,liquibase能否在sql中具有配置占位符 示例代码: <changeSet author="name" id="sql-example" runAlways="true" failOnError="true"> <sql>SELECT schema.admin_insert('PARAMETER_PLACEHOLDER')</sql> </changeSet> 选择schema.admin\u insert('参数\u占位符')

liquibase能否在sql中具有配置占位符

示例代码:

<changeSet author="name" id="sql-example" runAlways="true" failOnError="true">
    <sql>SELECT schema.admin_insert('PARAMETER_PLACEHOLDER')</sql>
</changeSet>

选择schema.admin\u insert('参数\u占位符')

是否可以在属性文件中定义参数值;以便liquibase替换属性文件中参数的值?

是的,您可以。Liquibase调用这些“Changelog参数”

该页的简短摘录:

Liquibase允许动态替换变更日志中的参数。 要替换的参数是使用
${parameterName}
语法描述的

配置参数值

参数值按以下顺序查找:

  • 作为参数传递给Liquibase runner(请参见Ant,命令行, 等。如何通过的文件)
  • 作为JVM系统属性
  • 在DatabaseChangeLog文件的参数块(
    标记)中 本身
示例

<createTable tableName="${table.name}">
      <column name="id" type="int"/>
      <column name="${column1.name}" type="varchar(${column1.length})"/>
      <column name="${column2.name}" type="int"/> 
</createTable>


似乎
${parameterName}
替换在
block@lightswitch05关于如何实现诸如从标记向sql脚本传递占位符参数之类的东西,有什么想法吗?sql变更集中有什么替代方案吗?