web-dev-qa-db-ja.com

取得:「移行は保留中です。この問題を解決するには、「bin / rake db:migrate Rails_ENV = development」を実行してください。」プロジェクトのクローンと移行後

プロジェクトを複製しました。 「バンドルインストール」にバンドルされ、「rake db:migrate」を実行します。このエラーが表示されます:(Railsサーバーを実行して、localhost:3000にブラウザーを開いたとき)この問題。"

すべての移行を1つずつ確認し、すべてエラーなしで実行されました。また、「rake db:migrate」の実行後にエラーは表示されませんでした。

これは、「 rake db:migrate:status 」を実行したときに表示されるものです

私は開発環境にいます。他の情報が必要な場合はお知らせください。

また、「burninggramma」が示唆するように、「bundle exec rake db:migrate」と「bundle exec rake db:migrate:reset」も試しました。

エラーの原因は何ですか?

20

面白い。 rake db:createを実行しましたか? sqlite3を使用していると仮定して、これを行います:

      rm -f db/*.sqlite3
      rake db:create
      Rails_ENV=development rake db:migrate
      Rails s -e development

また、config/database.ymlファイルの内容をリストできますか?

編集:警告!明らかに、既存のデータは失われます。

27
lewstherin

Migrateコマンドを実行した後、同じエラーが引き続き発生しました。

私のために働いたのは、Railsサーバーを停止してから再起動することでした。

14
Jesus H

実行された移行をrake db:migrate:statusでリストし、すべての移行が実行されたかどうかを確認します。 rake db:abort_if_pending_migrationsを使用して移行をキャンセルし、もう一度移行してみてください。

6
Eich

1. Ruby2/Rails4でのデフォルトかもしれませんが、試してみましたか:bundle exec rake db:migrate

2.別のオプションは、データベース全体をリセットします-注意して使用してください!すべてのデータもリセットします-bundle exec rake db:migrate:reset

+)同じ開発環境ですべてを実行していることを確認するだけです。

Rails_ENV=development bundle exec rake db:migrate:reset
Rails_ENV=development bundle exec Rails s
4
p1100i

ランニング rake db:migrate Rails_ENV=test私のためにやった

4
brntsllvn

データベースを開き、schema_migrationテーブルをクリックします。移行は以下のようにリストされます。 enter image description here

バージョン列を並べ替えて、戻る最新の移行を見つけます。新しいものを削除または挿入します。 Railsはすべての移行履歴をこのテーブルに保持するため、移行履歴を好みに合わせて調整できます。

1
zawhtut

ブラウザーでも同じエラーが発生しましたが、エラーメッセージをよく見ると、移行コメントと投稿ファイルに余分な空白が含まれていることに気付きました。一度削除すると、完全に機能しました。

1
Parth Shah

「db:migrate:reset」が機能しなかった2つの理由

1) loosing data 
2) we moved from php to Rails, so we had an existing DB and the migrations were written on top of it not from the scratch

私が試したのは、「scheema_migrations」(mysql)テーブルを移行のリスト(バージョン値のみ)で更新することです。ただし、実稼働環境ではこれを試みません。

0
nowRails

危険になるほど学習 Railsチュートリアル。Windows10マシンでGit Bash端末を使用しています。エラーはコマンドを使用してデータベースを移行しようとした後、別のターミナルでガードを実行しているターミナル:

$ bundle exec rake db: migrate:

@lewstherinが提供するソリューションを試した後も、同じエラーが発生しました。私はコマンドを試しました:

$ Rails testそして、明示的かつ有用な警告を受けました:

Migrations are pending. To resolve this issue, run:

bin/Rails db:migrate Rails_ENV=test

私はコマンドを実行しました:

$ bin/Rails db:migrate Rails_ENV=test

そして今、私は再び働いています。

0
jenstreetman

これが私のために働いたものです:-gem install Rails -v 4.1.0 Gemfile内:-gem 'Rails'、 '4.1.0'(新しい/古いものをこれに置き換えます)バンドルのインストールと更新を行います- bundle install -bundle update application.rbで:削除/コメント-config.active_record.raise_in_transactional_callbacks = true

bundle rakeを実行します。-bundle exec rake db:migrateページを更新すると、エラーは消えます。

0
Haider Raza

この問題が発生したのは、「[Rails]」という名前のフォルダー内にRailsファイルがあったためです。名。

これがこの問題で他の人を助けることを願っています。

0
Rafael Rivera

私はguessingです。エラーは、すでに存在するテーブルを作成しているということです。この問題は以前にありました。 ステップ1 dv:migrateをレーキするときのエラーを調べます

ステップ2このテーブルが作成されたモデルに移動します

ステップ create_table:[YOUR TABLE]の直前にdrop_table:[YOUR TABLE]を追加します

ステップ2 rake db:migrateを実行

ステップ移行が完了したら、drop_tableを削除します

0
Malek Zalfana

私は魔神でも同じ問題があり、このコードは役に立ちました:

rake db:drop rake db:create rake db:schema:load Rails_ENV=development
rake db:migrate Rails s -e development
0