【问题标题】:mongoid.yml sets wrong database in productionmongoid.yml 在生产中设置错误的数据库
【发布时间】:2012-07-16 06:06:32
【问题描述】:

我升级到 mongoid 3.0.1 并创建了新格式的 mongoid.yml - 我的 mongoid.yml 看起来像这样:

production:
  sessions:
    default:
      database: grbr_production
      hosts:
        - localhost:27017
      options:
        consistency: :strong
  options:
    raise_not_found_error: false
test:
  sessions:
    default:
      database: grbr_test
      hosts:
        - localhost:27017
      options:
        consistency: :strong
        raise_not_found_error: false
development:
  sessions:
    default:
      database: grbr_development
      hosts:
        - localhost:27017
      options:
        consistency: :strong
        raise_not_found_error: false

在开发中,我看到选择了正确的数据库。但在生产中,我看到“管理员”数据库被选中,这破坏了我的应用程序。我已在生产机器中将 RAILS_ENV 设置为“生产”,但仍然看到此错误。我看到的另一个非常奇怪的事情是,在生产中,moped 甚至不查询数据库。 以下来自开发和生产的日志表明:

Development log:
 MOPED: 127.0.0.1:27017 COMMAND      database=admin command={:ismaster=>1} (0.6645ms)**
 MOPED: 127.0.0.1:27017 QUERY        database=grbr_development collection=topsearches  selector={"$query"=>{"type"=>"books"}, "$orderby"=>{"cnt"=>-1}} flags=[] limit=10 skip=0 fields=nil (0.8984ms)

Production Log:
MOPED: 127.0.0.1:27017 COMMAND      database=admin command={:ismaster=>1} (0.6878ms)**

所以在生产中,我看不到生产数据库上的查询被触发。

【问题讨论】:

  • 嘿@Ved 这个问题运气好吗?我有类似的问题,无法弄清楚...
  • 运气好吗?我已经模拟,它对我来说一切正常,我相信可能是别的东西。

标签: mongoid


【解决方案1】:

为什么你的产品指向本地主机?好像不行。

你可以试试这样的:

production:
  sessions:
    default:
      uri: "YOUR-DB-ADDRESS"

【讨论】:

    猜你喜欢
    • 2014-12-06
    • 2011-06-20
    • 2019-01-13
    • 2014-03-18
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    相关资源
    最近更新 更多