如何读取 SQL 文件中的属性来替换 placeholders/Environment 变量?
How to read properties in SQL file to replace placeholders/Environment variables?
我有一个 flyway SQL 脚本,它插入一些特定于环境的数据(如部署 URL 等)等。我在属性文件中有这些值。我想在此 SQL 文件中使用相同的属性。我可以通过 ant 从 bash file.In 替换 task/sed 来做到这一点,在这种情况下,我需要手动 运行 script/ant 目标。有没有其他方法可以读取 SQL 文件中的属性以读取为 ENVIRONMENT variable/replace 占位符?
我使用 flyway 找到了解决方案。我们可以使用 flyway 占位符。
<bean id="flyway" class="com.googlecode.flyway.core.Flyway"
init-method="migrate" scope="singleton">
<property name="dataSource" ref="dataSource" />
<property name="disableInitCheck" value="true"></property>
<property name="locations">
<list>
<value>migration-sql</value>
</list>
</property>
<property name="placeholders">
<map>
<entry key="key1" value="${value1}"></entry>
<entry key="key2" value="${value2}"></entry>
</map>
</property>
</bean>
属性文件:
value1= value of key 1
value2= value of key 2
参考:
Whosebug,
Flyway Feature request
我有一个 flyway SQL 脚本,它插入一些特定于环境的数据(如部署 URL 等)等。我在属性文件中有这些值。我想在此 SQL 文件中使用相同的属性。我可以通过 ant 从 bash file.In 替换 task/sed 来做到这一点,在这种情况下,我需要手动 运行 script/ant 目标。有没有其他方法可以读取 SQL 文件中的属性以读取为 ENVIRONMENT variable/replace 占位符?
我使用 flyway 找到了解决方案。我们可以使用 flyway 占位符。
<bean id="flyway" class="com.googlecode.flyway.core.Flyway"
init-method="migrate" scope="singleton">
<property name="dataSource" ref="dataSource" />
<property name="disableInitCheck" value="true"></property>
<property name="locations">
<list>
<value>migration-sql</value>
</list>
</property>
<property name="placeholders">
<map>
<entry key="key1" value="${value1}"></entry>
<entry key="key2" value="${value2}"></entry>
</map>
</property>
</bean>
属性文件:
value1= value of key 1
value2= value of key 2
参考: Whosebug, Flyway Feature request