Как я могу установить несколько соединений с разными базами данных в одной и той же среде Rails в mongoid.yml? - PullRequest
1 голос
/ 28 апреля 2020

(т. Е. Некоторые модели будут использовать базу данных по умолчанию, а другие будут использовать вторую базу данных, когда она явно определена в модели).

Я не смог найти последние ссылки для этого. Я хотел знать, возможно ли что-то подобное, упомянутое ниже.

mongoid.yml

development:
  clients:
    default:
      uri: <%=ENV['DEFAULT_DB']%>
    mongo_db:
      uri: <%=ENV['SECOND_DB']%>

graph_metri c .rb

class GraphMetric
  include Mongoid::Document
  include Mongoid::Timestamps

  #Connects to default

  field :timestamp, type: DateTime

end

system_metri c. руб

class SystemMetric
  include Mongoid::Document
  include Mongoid::Timestamps

  #Connect to mongo_db
   some method to establish_connection

  field :timestamp, type: DateTime

end

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Это сработало.

mongoid.yml

development:
  clients:
    default:
      uri: <%=ENV['DEFAULT_DB']%>
    mongo_db:
      uri: <%=ENV['SECOND_DB']%>

graph_metri c .rb

class GraphMetric
  include Mongoid::Document
  include Mongoid::Timestamps

  #Connects to default

  field :timestamp, type: DateTime

end

system_metri c .rb

class SystemMetric
  include Mongoid::Document
  include Mongoid::Timestamps

  #Connect to mongo_db
   store_in client: :mongo_db

  field :timestamp, type: DateTime

end
0 голосов
/ 28 апреля 2020

Будет ли store_in client решить эту проблему для вас? (см. https://docs.mongodb.com/mongoid/master/tutorials/mongoid-documents/#storage)

...