RoR / AR:关于跨Rails环境管理不同RDBMS权限的建议

时间:2011-03-01 19:50:57

标签: ruby-on-rails activerecord permissions migration acl

是否建议在一个Rails应用程序下管理多个测试和生产数据库用户?我有一个Rails应用程序,其中有四个与之关联的不同数据库用户:

  • 所有者,拥有应用程序架构的数据库用户
    权限:几乎所有内容。 (这是维护/迁移帐户。)
  • app ,为Web应用程序提供支持的数据库帐户
    权限:读取大多数表和视图,写入一些临时缓存表。
  • 编辑,供稿的数据库帐户权限:在几张桌子上书写。
  • 审核员,记录数据库写入活动的数据库帐户
    权限:拥有一些触发器和功能。

现在,我的迁移文件包含这些特定用户的GRANT / REVOKE逻辑。但是,在“开发”环境中,这些用户通常都很方便,所有这些用户都是同一个帐户。此外,这些用户的硬编码名称可能与最终生产环境中已有的DB用户名冲突。

1 个答案:

答案 0 :(得分:1)

听起来你需要为你拥有的每个用户类(app / writer)管理2个不同的数据库连接。这通常通过混合使用帮助程序来管理,以便将它们设置为需要使用它们的不同类型的模型。

您无法在开发环境中对此进行配置,但是通过使用与您的生产环境完全相似的临时环境来解决此类问题,您可以获得最大的收益在某事被推到现场之前,他们会采取行动。