提问者:小点点

Flyway-通过引用AWS ssm参数和机密管理中的用户名和密码,使用Flyway在postgres数据库中创建具有密码的用户


我目前正在使用ansible,通过分别引用存储在ssm参数和机密管理器中的用户名和密码,在AWS postgres数据库中创建具有密码的用户。

我们正在迁移到另一个 AWS 账户,并正在实施用于数据库迁移的 flyway。我们需要使用密码创建数据库用户。

flyway中是否有一种方法可以通过分别引用存储在ssm参数和机密管理器中的用户名和密码来创建db用户和密码?


共1个答案

匿名用户

Flyway支持占位符,可用于将自定义值传递到sql脚本中

flyway -placeholders.db_user=${DB_USER} -placeholders.db_user_pw=${DB_USER_PASSWORD} ...

您可以在SQL引用这些占位符,如下所示:

CREATE ROLE ${db_user} LOGIN PASSWORD '${db_user_pw}';

DB_USER和DB_USER_PASSWORD是环境变量,应该在部署期间连接,以便使用部署工具功能从AWS SSM获取值。