私は熊手に新たなんだと私はいくつかのタスクを自動化することで自分の道を見つけようとしているの葉の内側に移行します。だから私は私の最初のrakeタスクを書いて、失敗しました::別のタスクが保留中のマイグレーション
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
私は、これが機能していない理由を知りたいのですが。呼び出した後:
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.
:最後に、私はこのメッセージを取得し、
== 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) ========================================
をしかし:
rake app:reset
すべてがうまく動作します、私はこのように、画面上の移行メッセージを見ることができますデータベースを移行しただけではありませんか?なぜそれについてそれは不満ですか?
開発環境で作業していますか?db:drop:allをdb:dropに変更してください:db:create:all to db:createを実行してください。 rakeタスクは、異なる環境でマイグレーションを実行しているように見えます。あなたのrakeタスクを実行するときRAILS_ENVを渡すようにしてください。 **作成:ドロップ:すべての**に**デシベル:ドロップ**と**デシベル:作成:**デシベルにすべてを – decay