RailsアプリをHerokuにデプロイする際に問題が発生しています。アプリにアクセスしようとすると、このエラーがスローされます。
PGError:エラー:リレーション "organizations"は存在しません(ActiveRecord :: StatementInvalid)
SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"organizations"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
誰にもアイデアはありますか?これは私にとって初めてのことです。特に、私は他のアプリでHerokuで1年間働いてきましたが、このようなものは見ていません。もちろん、すべてがローカルSQLiteで機能します。
同じ問題がありました。解決するには、データベースのリセットがより簡単です。
その後、私の場合は移行が正常に完了しました:)
私の経験(Rails 3.1、Sedarスタック)によると、pg:reset
およびdb:migrate
実行する必要があるかもしれませんheroku restart
。
私がやらなければならないことに気づくまで、私は同じ問題を抱えていました:
heroku rake db:migrate
:)
私のherokuバージョン:
heroku --version
#=> heroku-gem/2.29.0 (x86_64-linux) Ruby/1.9.3
修正するには、ターミナルを開いて次を実行します。
heroku pg:reset DATABASE --confirm YOUR_APP_NAME
heroku run rake db:setup
heroku restart
heroku open
Deviseを使用していますか? 2.0にアップグレードするときにこの問題が発生しました-移行ファイルを手動で変更する必要があります。
https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.0-migration-schema-style
私の場合、アプリを破棄して再作成する必要もありました。移行ファイルをコミットせずにrake db:migrateを実行しましたが、何らかの理由でpg:resetが機能しませんでした。
rake db:drop
rake db:create
rake db:migrate
どうやらアプリ全体を削除してからゼロから再デプロイすると、修正されました。何が問題なのか分かりません。
私の場合、症状は同じでしたが、根本原因と治療法はやや異なっていました。これに何時間も費やしました。この投稿が他の人の時間を節約することを願っています!私は使っている:
SQLiteではローカルですべて正常に実行されますが、Herokuでも同じPGエラーが発生します。 ActiveScaffoldは、上記と同様のエラーが原因で、Heroku Pushがレーキタスクを正常に実行できない原因となっていることがわかりました。そのため、heroku rake db:migrateなどを実行しようとすると、同じエラーが発生するキャッシュ22が取得されます。
今修正:
「active_scaffold」を使用するコントローラーallコントローラーに似たコードブロックをコメントアウトします。
active_scaffold :<model_name> do |conf|
end
heroku run rake db:migrate
heroku run Rails console
を実行してすべてが正常であることを確認し、モデルを作成して保存すると言います。active_scaffold
ブロックを戻します)何時間も答えをふるい分けた後、私はあなたが指定するとき
Rails new MYAPP -database POSTGRESQL
.gitignoreファイルが変更され、/db/ directory
全体が無視されるため、データベースがherokuにプッシュされませんでした。慎重に削除するか、少なくともプッシュアップする場所にユーザー名とパスワードを入力しないでください。
Postgresqlデータベースを使用するなど、ローカルのセットアップをできる限り実稼働に近づけるため、ローカルマシンでこの問題が発生しました。とにかく運用データベースを削除することはできません。問題はテストのみであることが判明したため、rake db:test:prepareを使用して修正しました。
同様の問題が発生し、heroku run rake db:reset
およびheroku run rake db:migrate
問題を修正します。問題を修正するための適切な移行を実行していなかったのではないでしょうか。
このエラーには多くの理由があります。ただし、私のアプリの問題は、移行を実行する前にアプリからログアウトしていなかったことです(?)。次のパスに移動します:http://name_of_my_app.herokuapp.com/logout
私のために問題を修正しました。