我可以在database.yml中指定rails环境应该只读访问数据库吗?

时间:2011-02-18 16:36:06

标签: ruby-on-rails

我们的应用程序具有非常标准的数据库配置。在实时服务器上,如果我想查询数据库的内容,我必须运行script/console productionscript/dbconsole production,我冒险意外修改我们的数据。我想创建一个新的rails环境,只读访问同一个数据库,这样我就可以在没有风险的情况下运行script/console readonlyscript/dbconsole readonly。我见过的解决方案涉及添加一个新的mysql用户,或猴子修补ActiveRecord :: Base。我不想这样做 - 我想在database.yml中指定与数据库的连接应该只读。这可能,如果是的话,我该怎么做?我尝试添加readonly: true,但它被忽略了。

1 个答案:

答案 0 :(得分:4)

您可以在沙盒模式下使用控制台。在沙箱模式下,退出控制台时,将在控制台中进行的任何数据库更改都将被还原。

$ script/console --sandbox

您无法在database.yml中指定只读模式。