Wir haben gerade unsere virtuellen Maschinen auf eine identische Ruby-Konfiguration aktualisiert (via RVM ... Ruby 1.9.2, Rails 3.0.7, DataMapper 1.1.0). Der größte Unterschied war, dass wir von MySQL 5.0 auf 5.1 umgestellt haben.
Aus irgendeinem Grund schlägt der exakt gleiche Code / database.yml, der auf unseren alten VMs funktionierte, jetzt an unseren neuen fehl, wenn er versucht, eine Verbindung zur Datenbank herzustellen.
Das Problem ist, dass diese YAML:
%Vor%Erweitern Sie einfach zu:
%Vor%Anstelle von:
%Vor%Jemand hat das schon mal erlebt?
Laut Gemfile.lock (ich habe es gelöscht und die Bundle-Installation erneut ausgeführt, nur um der Einfachheit willen), sind alle installierten Abhängigkeiten identisch (d. h. Gemfile.lock unterscheidet nicht zwischen dem alten und dem neuen Setup). Noch die Datenbank.yml.
Seit Sie ein Upgrade durchgeführt haben, kann es sein, dass Ihre Datenbankberechtigungen durcheinander geraten sind. Versuchen Sie festzustellen, dass Sie über die erforderlichen Berechtigungen verfügen, d. H. Der Computer, auf dem sich der Code befindet, verfügt über Berechtigungen zum Herstellen und Ändern von Daten auf dem Datenbankcomputer. Wenn du dich auf database.yml ansiehst, sollte es so etwas wie "
GRANT ALL PRIVILEGES ON productionbd.* to 'user'@'<app-server-ip>' identified by 'pass';
Tags und Links ruby ruby-on-rails yaml datamapper