プロジェクトを複製しました。 「バンドルインストール」にバンドルされ、「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」も試しました。
エラーの原因は何ですか?
面白い。 rake db:createを実行しましたか? sqlite3を使用していると仮定して、これを行います:
rm -f db/*.sqlite3
rake db:create
Rails_ENV=development rake db:migrate
Rails s -e development
また、config/database.ymlファイルの内容をリストできますか?
編集:警告!明らかに、既存のデータは失われます。
Migrateコマンドを実行した後、同じエラーが引き続き発生しました。
私のために働いたのは、Railsサーバーを停止してから再起動することでした。
実行された移行をrake db:migrate:status
でリストし、すべての移行が実行されたかどうかを確認します。 rake db:abort_if_pending_migrations
を使用して移行をキャンセルし、もう一度移行してみてください。
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
ランニング rake db:migrate Rails_ENV=test
私のためにやった
ブラウザーでも同じエラーが発生しましたが、エラーメッセージをよく見ると、移行コメントと投稿ファイルに余分な空白が含まれていることに気付きました。一度削除すると、完全に機能しました。
「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)テーブルを移行のリスト(バージョン値のみ)で更新することです。ただし、実稼働環境ではこれを試みません。
危険になるほど学習 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
そして今、私は再び働いています。
これが私のために働いたものです:-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ページを更新すると、エラーは消えます。
この問題が発生したのは、「[Rails]」という名前のフォルダー内にRailsファイルがあったためです。名。
これがこの問題で他の人を助けることを願っています。
私はguessingです。エラーは、すでに存在するテーブルを作成しているということです。この問題は以前にありました。 ステップ1 dv:migrateをレーキするときのエラーを調べます
ステップ2このテーブルが作成されたモデルに移動します
ステップ create_table:[YOUR TABLE]の直前にdrop_table:[YOUR TABLE]を追加します
ステップ2 rake db:migrateを実行
ステップ移行が完了したら、drop_tableを削除します
私は魔神でも同じ問題があり、このコードは役に立ちました:
rake db:drop rake db:create rake db:schema:load Rails_ENV=development
rake db:migrate Rails s -e development