0

皆さんお元気ですか?

レーキの移行で「スタック」しています -

エラーメッセージが表示されます -

AddDeviseToUsers への移行 (20130628040020) == AddDeviseToUsers: 移行中 ===================================== ======== -- change_table(:users) レーキが中止されました! エラーが発生しました。これ以降の移行はすべてキャンセルされました:

PG::Error: エラー: リレーション "users" が存在しません: ALTER TABLE "users" ADD COLUMN "email" character Various(255) DEFAULT '' NOT NULL/app/vendor/bundle/ruby/2.0.0/gems/ activerecord-3.2.12/lib/active_record/connection_adapters/postgresql_adapter.rb:652:in exec' ... /app/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.12/lib/active_record/migration.rb:551:in migrate' /app/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.12/lib/active_record/railties/databases rake:179:in `block (2 levels) in ' Tasks: TOP => db:migrate (タスクを --trace で実行して完全なトレースを表示) Optinovations-MacBook-Air:omrails Optinovation$ rake db: migrate rake aborted!

タスク 'db:' の作成方法がわからない

https://github.com/optinovation/omrails

Heroku ログ:

2013-06-28T04:30:42.808951+00:00 heroku[api]: bundle exec rake db:migratehansean@gmail.com によるコマンドでプロセスを開始 2013-06-28T04:30:48.308515+00:00 heroku[run.8286]: クライアントを待機中2013-06-28T04:30:48.353120+00:00 heroku[run.8286]: コマンドbundle exec rake db:migrate 2013-06-28T04:30:56.086242+00:00 heroku[run.8286]: 状態が up から complete に変更されました2013-06-28T04:30:56.078116+00:00 heroku[run.8286]: ステータス 1 で終了したプロセス28T05:31:36.753947+00:00 heroku[web.1]: SIGTERM 2013-06-28T05:31:38.664799+00:00 heroku[web.1]: ステータス 0 でプロセスが終了しました 2013-06- 28T05:31:38.670876+00:00 heroku[web.1]: 状態がアップからダウンに変更されました

助けてください!

4

1 に答える 1

0

私はあなたのレポを複製しましたが、 User テーブルには既に電子メールと名前の列があるため、問題が発生しているようです。

db/schema.rb ファイルで、db スキーマのタイムスタンプ (:version => 20130627224008) が 2 つの保留中の移行タイムスタンプより前であることがわかります。schema.rb タイムスタンプは、移行が成功した場合に更新されます。

要点は、User テーブルにメールと名前の列が既にあるように見えることです。具体的には、schema.rb の 35 行目と 47 行目を見てください。

rake:db migrate を実行したときに発生した開発環境でのエラーは、"SQLite3::SQLException: duplicate column name: email: ALTER TABLE "users" ADD "email" でした。

私はあなたのアプリを本番環境にプッシュしようとはしませんでしたが、私の経験では、PostgreSQL (PG) と SQLite のエラーは同じ問題に対してわずかに異なる場合があります。

于 2013-06-28T09:03:23.623 に答える