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