【问题标题】:mongoid/mongodb and rake task authorization in production/passenger生产/乘客中的 mongoid/mongodb 和 rake 任务授权
【发布时间】:2011-04-23 20:07:37
【问题描述】:

尝试在我的应用上运行 rake db:seed 时,我收到错误消息:

数据库命令'count'失败:{"assertion"=>"unauthorized db:app_development lock type:-1 client:127.0.0.1", "assertionCode"=>10057, "errmsg"=>"db assertion failure" , "ok"=>0.0}

db:drop 出现同样的错误

Mmy 应用程序连接到数据库正常,只是这些 rake taks 失败了,我不确定是什么原因。我认为播种不需要管理员权限。可能是乘客问题?

【问题讨论】:

  • 连接时你的 mongoDB 需要用户名和密码吗?另外:您使用的是 mongoid 还是 mongomapper(或其他)?
  • 我正在使用 mongoid,是的,我的数据库有一个用户设置。该应用程序使用这些凭据可以正常访问数据库,但是 mongoid rake 任务是否需要管理员访问权限?如果是这样,我怎么能同意?

标签: ruby-on-rails rake mongoid


【解决方案1】:

您需要在 mongoid.yml 中设置用户名和密码,以便 rake 任务能够连接到您的数据库。

例子:

production:
  host: host-name
  port: 27017
  username: itsmeyo
  password: supasecret
  database: project_production

您也可以在环境变量中设置它们,但需要设置它们。

password: <%= ENV['MONGOID_PASSWORD'] %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 2016-11-13
    • 1970-01-01
    • 2016-01-05
    相关资源
    最近更新 更多