我们有一个具有非常标准数据库配置的应用程序。在实时服务器上,如果我想查询数据库的内容,我必须运行 script/console production
或 script/dbconsole production
我冒着不小心修改我们的数据的风险。我想创建一个对同一数据库具有只读访问权限的新 Rails 环境,以便我可以运行 script/console readonly
或 script/dbconsole readonly
没有风险。我见过涉及添加新 mysql 用户或猴子修补 ActiveRecord::Base 的解决方案。我不想这样做 - 我想在 database.yml 中指定与数据库的连接应该是只读的。这可能吗,如果可以,我该怎么做?我试过添加 readonly: true
但它被忽略了。
最佳答案
您可以在沙盒模式下使用控制台。在沙盒模式下,在控制台中所做的任何数据库更改都将在您退出控制台时恢复。
$ script/console --sandbox
您不能在
database.yml
中指定只读模式.
关于ruby-on-rails - 我可以在 database.yml 中指定 rails 环境应该对数据库具有只读访问权限吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5043956/