有人可以在Flyway迁移中使用正确的格式来使用application.properties配置。
我想在我的application.properties文件中使用数据源配置的用户名来授予数据库表的权限(使用Flyway进行数据库迁移,用户名最终会因环境而异),但我可以'找到一个语法的例子。
示例application.properties:
# Database
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/example_db
spring.datasource.username=example_db_application
spring.datasource.password=examplePassword1
迁移:
CREATE TABLE token
(
id TEXT,
value TEXT,
);
GRANT SELECT, INSERT, UPDATE, DELETE ON token TO ${spring.datasource.username};
我尝试了各种迭代(flyway.placeholders.spring.datasource.username,尝试指定无前缀:spring.flyway.placeholder-prefix =)但没有运气。
答案 0 :(得分:4)
Spring-Boot为路径spring.flyway.placeholders.*=
# application.properties
# -> placeholder value `user`
spring.flyway.placeholders.user=joe
-- db/migration/V3__Migration_With_Placeholder.sql`:
CREATE TABLE ${user} (
...
)