Ich bin Neuling Rails / Terminal Benutzer und habe gerade eine saubere Installation von Lion + Xcode + Rails. Anders als vorher (auf Snow Leopard), bekomme ich jetzt einen Fehler beim Ausführen von Rake db: migrate.
Ich habe meinen Code durch git geklont, was gut funktioniert hat und die Datenbank mit dem "createdb" -Befehl erstellt habe, aber wenn ich versuche, "rake db: migrate" im Terminal auszuführen, kommt jetzt dieser Fehler:
%Vor%Meine config / database.yml-Datei sieht im Entwicklungsbereich wie folgt aus: Bei Snow Leopard war es genau so, wie es vorher aussah, wo es gut funktionierte, also weiß nicht, ob der Fehler, den ich jetzt bekomme, mit Lion zusammenhängt.
%Vor%Kann jemand bitte helfen?
Beachten Sie, dass Sie die richtigen Abstandskonventionen beachten müssen. Die Datenbankkonfiguration ist Whitespace-bewusst. Zwei Leerzeichen pro Attribut funktionieren einwandfrei. Beachten Sie im folgenden Code, wie jedes Attribut zwei Leerzeichen hat. Verwenden Sie keine Tabs. Wenn Sie keine Leerzeichen für Attribute verwenden, wird Rake nicht funktionieren und den gleichen Fehler auslösen.
%Vor% Sie können auch nach Syntaxfehlern in der Datei suchen. Dies ist der Fehler, der auftritt, wenn Sie einen Syntaxfehler in Ihrer config/database.yml
-Datei haben und versuchen, etwas wie den lokalen Webserver zu starten oder rake db:migrate
auszuführen.
In meinem Fall hatte ich versehentlich den Kommentar aus einer Zeile am Anfang der Datei entfernt, und ich sah diesen Fehler, da die unkommentierte Zeile dies zu einer ungültigen XML-Datei gemacht hat.
Hier ist eine PEBCAK-Antwort für Google-Mitarbeiter: Überprüfen Sie Ihre Gemdatei und vergewissern Sie sich, dass Sie Ihren Datenbankadapter-Edelstein in der richtigen Gruppe in Ihrem Gemfile
angegeben haben. Ich hatte meine nur für :production
und :staging
definiert, und an einem Punkt muss gem install pg
manuell auf meinem Entwicklungscomputer ausgeführt haben, nachdem ich von mysql gewechselt habe. Heute Morgen habe ich alle Edelsteine für die App geleert und sie wieder freigegeben, und dann konnte ich nicht herausfinden, warum die Datenbank keine Verbindung herstellen würde. Wenn Sie die bundle install
gem-Angabe außerhalb einer Gruppe verschieben und pg
ausführen, wird das Problem gelöst.
Was in meinem Fall funktionierte, nachdem ich alle oben genannten Schritte ausprobiert hatte, als Rake db: create failed war, sollte sicherstellen, dass mein Rakefile korrekt konfiguriert war.
Das hat den Job gemacht:
%Vor%Tags und Links ruby-on-rails-3 osx-lion rake