ich getroffen habe, die Problem wie du. Hier ist meine Problembeschreibung.
try rake db: Version, es 0 zurück
try rake db: wandern, es ist nichts passiert und keine Tabelle erstellt, auch gibt es Migrationsdateien in db/migrieren. versuchen Rake db: migrieren VERSION = YourAnyMigrationFileTimestamp, eine Ausnahme ausgelöst, macht keine solche Migration verantwortlich.
Wenn Ihr Problem wie ich, vielleicht haben Sie oder installieren Sie eine falsche Rake-Task, die die Standard-Root ändern, wenn Migrations-Task ausgeführt wird.
um es zu überprüfen, müssen Sie die dritte Aufgabe zu debuggen, (http://stackoverflow.com/questions/2663912/rails-debugging-rails-tasks können Ihnen sagen, wie Rake-Task debuggen).
Debug-Zeile 548 in Activerecord-3.0.1/lib/active_record/migration.rb, laufen Dir.pwd, wenn das Ergebnis nicht Ihre App Wurzel ist, muss es eine andere Aufgabe Ihre Standardaufgabe dir ändern sein.
Das folgende ist, was ich
(RDB: 1) ausgetestet habe p self.class
Active :: Migrator
(RDB: 1) n
/home/raykin/.rvm/gems/[email protected]/gems/activerecord- 3.0.1/lib/active_record/migration.rb: 550
files = Dir [ "# {@ migrations_path}/[0-9] _ .rb "]
(RDB: 1) n
/home/raykin/.rvm/gems/[email protected]/gems/activerecord- 3.0.1/lib/active_record/migration.rb: 552
migrations = files.inject ([]) do | klasses, file |
(RDB: 1) p-Dateien
[]
(RDB: 1) p @migrations_path
"db/Migration /"
(RDB: 1) p Dir ['db/migrate/[0-9] _.rb ']
[]
(RDB: 1) l
* -Ausgang gespült *
(RDB: 1) Dir.pwd
* unbekannter Befehl : "Dir.pwd". Versuchen Sie "Hilfe".
(RDB: 1) p Dir.pwd
"/ home/Raykin/Campus /:/code/Campus/db/data_export"
zu sehen, hat das aktuelle Verzeichnis geändert worden ist, Ursache Schienen würde alle Aufgabe laden, bevor Migration ausgeführt wird (es scheint eine Methode, um die alle zu überlasten), und einige schlechte Aufgabe (nur ich schrieb es gestern ...) ändern Sie das aktuelle Verzeichnis.
Dies ist genau kein Problem von Rails, aber es ist wirklich ein verwirrtes Ergebnis für den Benutzer. kann Ihnen hoffentlich helfen.
Können Sie Ihre Migrationen posten? – Alex
Ich meine im Körper Ihrer Frage. :) – Alex
Wohin führen Sie Ihre Rake-Aufgaben? Stellen Sie sicher, dass Sie im Stammverzeichnis Ihres Rails-Verzeichnisses laufen und dass Sie sogar eine Rake-Datei haben. – Alex