我在 postgresql 中有两个用户,其中一个migration
在 Rails 在生产服务器上运行迁移时被调用并使用。该用户拥有生产数据库。我也有production
应该只有以下权限的用户:SELECT, INSERT, UPDATE, DELETE
在生产数据库上。
问题是,每次创建新表时,我都必须在 psql 中手动运行它:
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO production;
-- next line is needed for each new table which has an auto incrementing field, in this case - table `users`
GRANT USAGE, SELECT ON SEQUENCE users_id_seq TO production;
因为production
新创建的表上的用户权限不会自动设置。运行迁移时自动执行此操作的最佳方法是什么?任何可用于 Rails/Capistrano 的脚本?