heroku mongohq und mongoid Mongo::ConnectionFailure
UPDATE 9. Juni 2012:
Setup mit mongoid 3.0.0.rc bei heroku finden Sie in diesem gist: https://gist.github.com/2900804
UPDATE 22 jan 2011:
Uri Vorrang haben nun in mongoid.yml
https://github.com/mongoid/mongoid/issues/issue/266
UPDATE 12. August 2010: Obwohl ich bekam eine akzeptierte Antwort 6. Mai von Jackues Crocker, es gibt Aspekte zu diesem Thema, dass es einfach zu Durcheinander! Es passiert mir noch einmal und ich beschlossen, die Forschung der mongoid source-code. So, hier geht es:
Derzeit host: port: name/Datenbank: Einstellungen haben VORRANG vor den uri: Einstellung. Also, die schrecklich sinnlose Fehlermeldung geschieht durch eine Anfrage an localhost:xxxx und nicht zu Flamme.local.mongohq.com:xxxx
Diese brechen!
defaults: &defaults
host: localhost <- THIS 'OVERWRITES' host in the uri!
production:
<<: *defaults <- BE CAREFUL WITH WHAT YOU BRING IN. THE host: FROM DEFAULTS WILL BE THE ONE APPLIED, not your uri host.
uri: <%= ENV['MONGOHQ_URL'] %>
fixieren Sie es mit Beseitigung des host: in Verzug, und/oder entfernen der <<: *defaults
ORIGINAL Q:
Habe ich die mongoHQ addon für mongodb auf heroku. Es stürzt ab mit :
connect_to_master': failed to connect to any given host:port (Mongo::ConnectionFailure)
Den Beschreibungen online (heroku mongohq) sind mehr in Richtung mongomapper, wie ich es sehe. Ich bin mit ruby 1.9.1 und rails-3-beta mit mongoid.
Mein Gefühl sagt, dass es etwas mit ENV['MONGOHQ_URL']
die es sagt, die MongoHQ addon-sets, aber ich habe mich nicht festgelegt MONGOHQ_URL
irgendwo in meinem app. Ich denke das problem ist in meinem
mongoid.yml ?
defaults: &defaults
host: localhost
development:
<<: *defaults
database: aliado_development
test:
<<: *defaults
database: aliado_test
# set these environment variables on your prod server
production:
<<: *defaults
host: <%= ENV['MONGOID_HOST'] %>
port: <%= ENV['MONGOID_PORT'] %>
username: <%= ENV['MONGOID_USERNAME'] %>
password: <%= ENV['MONGOID_PASSWORD'] %>
database: <%= ENV['MONGOID_DATABASE'] %>
Es funktioniert lokal, aber nicht auf heroku, mehr stack-trace:
==> crashlog.log <==
Cannot write to outdated .bundle/environment.rb to update it
/disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/rack-1.1.0/lib/rack.rb:14: warning: already initialized constant VERSION
/disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongo-0.20.1/lib/mongo/connection.rb:435:in `connect_to_master': failed to connect to any given host:port (Mongo::ConnectionFailure)
from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongo-0.20.1/lib/mongo/connection.rb:112:in `initialize'
from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongoid-2.0.0.beta4
/lib/mongoid/railtie.rb:32:in `new'
from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongoid-2.0.0.beta4/lib/mongoid/railtie.rb:32:in `block (2 levels) in <class:Railtie>'
from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongoid-2.0.0.beta4/lib/mongoid.rb:110:in `configure'
from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/mongoid-2.0.0.beta4/lib/mongoid/railtie.rb:21:in `block in <class:Railtie>'
from /disk1/home/slugs/176479_b14df52_b875/mnt/.bundle/gems/gems/railties-3.0.0.beta3/lib/rails/initializable.rb:25:in `instance_exec'
.....
Alles funktioniert lokal, beide tests und app. Ich bin aus Ideen heraus... Irgendwelche Vorschläge?
PS: Jemand mit einem hohen repu Geist erzeugen die tag 'mongohq'?
InformationsquelleAutor der Frage oma | 2010-05-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mongoid (master) hat jetzt eine URI-option in mongoid.yml. So konnte man tun:
Verwenden mongoid master in Ihrem Projekt, setzen Sie diese in Ihrem Gemfile
Hoffentlich ein neues Juwel wird bald veröffentlicht werden, die aufzuräumen.
InformationsquelleAutor der Antwort Jacques Crocker
Scheint es mir, dass die Angabe von host, die in der defaults-hash überschreibt den Wert in uri.
Um es zu beheben einfach entfernen Sie den host aus dem Standard, hier ist mein config/mongo.yml:
Hier ist das snippet von mongoid config.rb:
InformationsquelleAutor der Antwort Kliment Mamykin
Wir haben einige mongoid docs auf unserer heroku Abschnitt unserer docs. Sie wurde noch nicht freigegeben, offiziell noch nicht, aber Sie können es schon. Erwarten Sie nicht viel in der Art von Stilen und Inhalten noch, aber es gibt einige Infos, die Sie vielleicht nützlich finden für mongoid.
https://devcenter.heroku.com/articles/mongohq
InformationsquelleAutor der Antwort Ben
Nur ein Hinweis, dass diese funktioniert bei mir ohne Probleme, wie angekündigt, auf http://mongoid.github.com/docs/installation/
Gemfile:
mongoid.yml:
InformationsquelleAutor der Antwort Jason