Ich bin neu in Rake und ich versuche, meinen Weg bei der Automatisierung einiger Aufgaben zu finden. Also schrieb ich meine erste Rake Aufgabe und fehlgeschlagen:Verwenden von Rake db: migrieren innerhalb einer anderen Aufgabe verlässt ausstehende Migrationen
namespace :app do
desc "Leaves application like new"
task :reset => :environment do
Rake::Task['db:drop:all'].invoke
Rake::Task['db:create:all'].invoke
Rake::Task['db:migrate'].invoke
Rake::Task['db:seed'].invoke
end
end
Ich mag gerne wissen, warum dies nicht funktioniert. Nach dem Aufruf:
rake app:reset
alles läuft gut, ich kann die Migrationsmeldungen auf dem Bildschirm, wie diese:
== CreateGalerias: migrating =================================================
-- create_table(:galerias)
NOTICE: CREATE TABLE will create implicit sequence "galerias_id_seq" for serial column "galerias.id"
NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index "galerias_pkey" for table "galerias"
-> 0.1191s
== CreateGalerias: migrated (0.1194s) ========================================
Aber am Ende bekomme ich diese Meldung:
You have 11 pending migrations:
20110704052637 CreatePersonas
20110709100632 CreateOrganizaciones
20110709100646 CreateEventos
20110816102451 CreateMembresias
20110816155851 CreateCelebraciones
20110822135820 ActsAsTaggableOnMigration
20120410063100 CreateDocumentos
20120507200516 CreateUsuarios
20120515214226 ActivaUnnaccent
20120516091228 CreateGalerias
20120517004708 SetupHstore
Run `rake db:migrate` to update your database then try again.
Ist es nicht nur die Datenbank migriert? Warum beklagt es sich darüber?
Arbeiten Sie an der Entwicklungsumgebung? Es sieht so aus, als ob die Rake-Aufgabe Migrationen in verschiedenen Umgebungen ausführt. Versuchen Sie, RAILS_ENV zu übergeben, wenn Sie Ihre Rake-Aufgabe ausführen. – decay