2012-05-17 26 views
5

私は熊手に新たなんだと私はいくつかのタスクを自動化することで自分の道を見つけようとしているの葉の内側に移行します。だから私は私の最初の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 

すべてがうまく動作します、私はこのように、画面上の移行メッセージを見ることができますデータベースを移行しただけではありませんか?なぜそれについてそれは不満ですか?

+0

開発環境で作業していますか?db:drop:allをdb:dropに変更してください:db:create:all to db:createを実行してください。 rakeタスクは、異なる環境でマイグレーションを実行しているように見えます。あなたのrakeタスクを実行するときRAILS_ENVを渡すようにしてください。 **作成:ドロップ:すべての**に**デシベル:ドロップ**と**デシベル:作成:**デシベルにすべてを – decay

答えて

2

DBことに注意してください:ドロップ:すべてとデシベル:作成を:すべては、すべての環境で動作し、DB:移行とDB:種子はないので、あなたはおそらく、意図しない環境に移行しています。

rake RAILS_ENV=production app:reset 
+0

はい、答えは**デシベルを変更することでした。その後 は、**すくいアプリ:リセット**問題なく働いていました! – zenw0lf

関連する問題