Raylarım uygulamasında bir geçişle ilgili bazı sorunlar yaşıyorum. Bu göç dosyasının snippet'idirBirisi bu hatanın nedenini gidermede yardımcı olabilir: ActiveRecord :: Geçiş Hatası PG :: WrongObjectType 'tablo' bir görünüm değil
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
tablo için benim geliştirme veritabanını kontrol edilmesi o olduğunu gösterir ben bekleyen göçler yürütmek zaman şöyle bir hata alırsınız gerçekten bir manzara.
\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)
Ben de benim test veritabanı üzerinde göç hiçbir hata ürettiğini işaret etmek istiyorum ve sorunsuz migrate
ve rollback
mümkün.
Bu geçişe takılıyorum ve çözülene kadar bir şey yapamıyorum. Sorun ne olabilir? view
ve materialized view
farklı şeyler olmadıkça açıkça görülmektedir. Herhangi bir fikri olan var mı? Yardım takdir edilecektir.