私のローカルenvにテーブルを追加しましたschools
と呼ばれ、それはdevで正常に動作します。実際にはステージング(英雄)でもうまく動作しますが、生産には大きな時間がかかりません。rake db:migrate
はエラーを発生させます。生産/ herokuに失敗しました:どこにa.attrelid = '"学校"':regclass
私はassest(RAILS_ENV = productionで)をプリコンパイルすることはできません。プロダクション(heroku)のレールコンソールを含むアプリケーションのすべての部分にアクセスできません。すべてがエラーを吹き飛ばしている。私はこれで数時間を失ってしまったが、それを私たちのものに近づけることはできない。 (注:私は'"..."'
が問題の一部であると思うtable_nameへの参照にあります)
私はレール3.1.0から3.1.3へ行って、それと関係があるかもしれません。
PGError: ERROR: relation "schools" does not exist
LINE 4: WHERE a.attrelid = '"schools"'::regclass
^
: 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 = '"schools"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
私はこのままでも問題ありません。私はここでこのトピックに関するいくつかの他の質問を読んだが、視力には解決策はなかった。ご協力ありがとうございました。 洞察力があれば幸いです。
更新 ------------------------------------------- -----------
私はちょうどherokuで新しいアプリを作成し、rake db:migrate
を実行して同じエラーが発生しました。
UPDATE 2
私はHerokuのと "学校" のスキーマ内にあるからアプリをクローン化しました。
create_table "schools", :force => true do |t|
...
...
end
UPDATE 3
はバックレール3.1.0に戻す試みたが、それは助けにはなりませんでした。
更新日4
まだこれに取り組んでいます。 herokuのサポートからまだ聞いていない。
UPDATE 5
Herokuのサポートは、「学校」はDB内のテーブルではありませんが、私はまだ、まだダウンコンソールやアプリにアクセスすることができないことを確認することができました。
あなたは 'schools'テーブルを作成するために、生産に移行を実行しましたか?このクエリは、ActiveRecordのように、「学校」モデルのための「学校」の構造を理解しようとしているように見えます。 –
感謝の返事をいただきありがとうございます。私は移行を実行したが、それは私にそのエラーを与える。不思議にも、私は生産からアプリをクローンし、 '学校はスキーマにあるので、移行は適切に完了したようだ。 – Yuri
データベースの 'schools'テーブルはありますか?本番データベースのコピーをプルダウンしようとするとどうなりますか?それは '学校'テーブルを含んでいますか? –