微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 设置默认数据库连接Rails

我的rails应用程序有自己的 MySql数据库(并且需要MysqL2 gem),但也需要与一个特定模型的外部MongoDB数据库连接(因此我在Gemfile中包含了mongoid和bson_ext).现在,当我尝试为一个新的模型生成一个迁移时,它告诉我
$rails g migration CreateLocations
       error  mongoid [not found]

当我生成位置模型时,它包含了Mongoid :: Document,所以Rails显然认为它正在使用外部数据库作为主数据库.

databse.yml:

development:
  adapter: MysqL2
  encoding: utf8
  reconnect: false
  database: associalize_development
  pool: 5
  username: root
  password:
  socket: /tmp/MysqL.sock

mongoid.yml:

development:
  host: pearl.mongohq.com
  port: 27019
  username: asfasdf
  password: sadfasdf
  database: app4574678

test:
  host: pearl.mongohq.com
  port: 27019
  username: asdfadhasdfa
  password: hadsadfas
  database: app4574678

production:
  host: pearl.mongohq.com
  port: 27019
  username: asdfdfsasda
  password: afdasdfdasdf
  database: app4574678

UPDATE
使用Mongo的模型

class ExternalMongoModel
  include Mongoid::Document

  field :title
  field :long_title
  field :deal_type
  field :merchandise_type
  field :market_id
  field :market_name
  field :market_location,type: Array
  field :featureType
  field :country_code
  field :subtitle
  field :offer_ends_at
  field :price
  field :value
  field :merchant_type
  field :content
  field :merchant

  index(
    [[:division_latlon,Mongo::GEO2D]],background: true
  )

end

解决方法

将其添加到config / application.rb中的应用程序块中:
config.generators do |g|
  g.orm :active_record
end

(找到的解决方here)

原文地址:https://www.jb51.cc/ruby/272102.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐