Nat*_*ate 1 postgresql amazon-web-services flyway
我正在尝试启动并运行 Flyway 以进行 Postgres 的数据库源代码控制,但遇到了权限问题。
场景:AWS RDS PostgreSQL 实例上的新数据库。
配置的 RDS 超级用户是“postgres”,我以此身份登录以创建数据库和设置角色。
我创建了一个“flyway_user”帐户,我希望 Flyway 工具使用该帐户,并将其添加到 rds_superuser 角色。
我创建了 Flyway 将管理的几个模式,并将所有 ON SCHEMA 授予“flyway_user”帐户。
然后,当我尝试让 Flyway 进行迁移以在这些架构中创建表时,我收到权限被拒绝的错误。那么我在这里缺少什么?预先感谢您的任何建议。
我知道这个问题已经很老了,但它出现在谷歌上,我也遇到了同样的问题。
虽然这些权限可能有点太宽松,但这就是我在使用 RDS 和 Flyway 特定用户时正确迁移 Flyway 所做的事情。
-- Create a Migrator Role
CREATE ROLE schema_migrator;
GRANT ALL PRIVILEGES ON DATABASE <database> TO schema_migrator;
GRANT ALL PRIVILEGES ON SCHEMA <schema> TO schema_migrator;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA <schema> TO schema_migrator;
ALTER DEFAULT PRIVILEGES IN SCHEMA <schema> GRANT ALL PRIVILEGES ON TABLES TO schema_migrator;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA <schema> TO schema_migrator;
ALTER DEFAULT PRIVILEGES IN SCHEMA <schema> GRANT ALL PRIVILEGES ON SEQUENCES TO schema_migrator;
-- Assign Role to flyway_user
GRANT schema_migrator TO flyway_user;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2462 次 |
| 最近记录: |