私のレールアプリケーションの移行に関するいくつかの問題があります。これは、移行ファイルの抜粋である誰かがこのエラーの原因をトラブルシューティングするのに役立つことができます:ActiveRecord :: Migration Error PG :: WrongObjectType 'table'はビューではありません
PG::WrongObjectType: ERROR: "contributions" is not a view
:
class ReplaceContributionView < ActiveRecord::Migration
def up
execute <<-SQL
CREATE OR REPLACE VIEW contributions AS (
(
SELECT id,
id AS person_id,
project_id AS project_id,
name_fact_id AS name_fact_id,
null AS position_id
FROM people
WHERE project_id IS NOT NULL
.........etc etc. ...........
end
def down
.........
end
end
contributions
テーブルのための私の開発データベースを確認することがあることを示している私は、保留中のマイグレーションを実行すると、私はこのようなエラーを受け取ります確かに眺め。
\d contributions
Materialized view "public.contributions"
Column | Type | Modifiers
--------------+---------+-----------
id | bigint |
person_id | bigint |
project_id | integer |
name_fact_id | integer |
position_id | integer |
Indexes:
"index_contributions_on_id" UNIQUE, btree (id)
"index_contributions_on_project_id" btree (project_id)
は、私も自分のテスト・データベースに移行することは一切エラーが発生していないことを指摘したいと私は問題なくmigrate
とrollback
にできています。
私はこの移行に固執しており、解決するまでは何もできません。何が問題なの? view
とmaterialized view
が別のものでない限り、それは明らかに見通しです。誰にもアイデアはありますか?ヘルプをいただければ幸いです。