Use Yaml for MongoMapper Config
Asked Answered
M

1

5

I have my Yaml configuration file, mongo.yml:

development:
  adapter: mongodb
  database: fhsclock_development
  host: localhost
  port: nil

test:
  adapter: mongodb
  database: fhsclock_test
  host: localhost
  port: nil

production:
  adapter: mongodb
  database: fhsclock
  hosts:
  - - localhost
    - nil
  - - staff.mongohq.com
    - 10015

How do I use this file for configuration and connection with MongoMapper?

Meagre answered 26/10, 2011 at 0:11 Comment(0)
C
9

MongoMapper will just use the file if it's you're using Rails and the file is at config/mongo.yml. If you're not on Rails, you can adapt this code from the source:

config_file = Rails.root.join('config/mongo.yml')
if config_file.file?
  config = YAML.load(ERB.new(config_file.read).result)
  MongoMapper.setup(config, Rails.env, :logger => Rails.logger)
end

Also, the "adapter" in your file is extraneous. (See the Getting Started documentation). A mongo.yml from rails g mongo_mapper:config looks like:

defaults: &defaults
  host: 127.0.0.1
  port: 27017

development:
  <<: *defaults
  database: my_app_development

test:
  <<: *defaults
  database: my_app_test

# set these environment variables on your prod server
production:
  <<: *defaults
  database: my_app
  username: <%= ENV['MONGO_USERNAME'] %>
  password: <%= ENV['MONGO_PASSWORD'] %>
Cano answered 26/10, 2011 at 14:3 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.