183

Rails アプリで保留中の移行を表示する rake タスクはありますか?

4

10 に答える 10

288

rake db:migrate:status(Rails 3 to 5) またはrails db:migrate:status(Rails 5) がこれを実現します。このコミットを参照してください。

up移行が実行されたことを意味します。down移行が実行されていないことを意味します。

于 2011-01-25T17:58:24.283 に答える
43

ありますrake db:abort_if_pending_migrations(少なくともRails 2.3.3では、いつ導入されたかはわかりません)。説明には、「保留中の移行がある場合はエラーが発生します」と書かれています。これは、他のタスクの前提条件として使用されることが多いようですが、目的に合わせて使用​​できると思います。

編集:「テスト」移行を生成して実行しなかった後の出力の例を次に示します。

rails_project theIV$ rake db:abort_if_pending_migrations
(in /Users/theIV/Sites/rails_project/)
You have 1 pending migrations:
  20090828200602 Test
Run "rake db:migrate" to update your database then try again.
于 2009-08-28T20:04:15.750 に答える
15

rake db:versionRails2でこれを実現します。

于 2012-02-03T16:51:58.410 に答える
2

rake -h(ヘルプ)を試して、rake -n(= rake --dry-run)を見てください。したがって、おそらくrake -n db:migrateのようなもので必要なものが得られるはずです。

于 2009-08-28T20:14:56.100 に答える
1

次のコマンドで移行ステータスを確認します。

rake db:migrate:status

また

サーバーを実行すると、保留中の移行を最初に実行するようメッセージが表示されます。

于 2017-01-11T07:01:17.890 に答える