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

标签 postgresql flyway

我目前正在使用 ansible 在 AWS postgres 数据库中创建带有密码的用户,方法是引用分别存储在 ssm 参数和 secret 管理器中的用户名和密码。

我们正在迁移到另一个 AWS 账户,并正在实现 Flyway 进行数据库迁移。我们需要创建带有密码的数据库用户。

flyway中有没有办法通过分别引用ssm参数和 secret 管理器中存储的用户名和密码来创建数据库用户和密码?

最佳答案

Flyway 支持 placeholders可用于将自定义值传递到 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 获取值。

关于postgresql - Flyway - 通过引用 AWS ssm 参数和 secret 管理中的用户名和密码,使用 Flyway 在 postgres 数据库中创建带有密码的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67920730/

相关文章:

postgresql 删除具有相似名称的角色

ruby-on-rails - 如何从 SQLite 迁移到 PostgreSQL (Rails)

sql - 如何对 PostgreSQL 主 ID 列执行 LIKE 查询?

node.js - 我想找到从一个位置到另一个位置的距离并找到最近的位置

database - Docker 1.12 : Multiple replicas, 单数据库

logging - 如何为自定义 Gradle 插件设置不同的日志级别

python - SQLAlchemy - 在 postgresql 中执行批量 upsert(如果存在,更新,否则插入)

java - 使用 Flyway 的 MySQL JDBC 驱动程序

scala - 手动将航路迁移标记为已完成

java - 仅迁移 Flyway 迁移的子集