2016-08-22 9 views
0

存在しないPG :: UndefinedTable:ERROR:リレーション「----」私は生産のための開発環境とPostgreのためのSQLiteを使用してい

すべてがうまく動作開発ではしかし、私はリセットしてみてください。

PG::UndefinedTable: ERROR: relation "priceranges" does not exist 
... 
FOREIGN KEY ("pricerange_id") 
REFERENCES "priceranges" ("id") 

マイ会場モデル::

belongs_to :pricerange, :class_name => "PriceRange" 

マイpricerangeの移行:

と本番データベースを移行するために、私は次のメッセージを受け取りました
class CreatePriceRanges< ActiveRecord::Migration[5.0] 
    def change 
    create_table :price_ranges do |t| 
    t.string :price_description 
    t.timestamps 
    end 
    end 
end 

アイデア?

答えて

3

移行で作成するテーブル名は、pricerangesではなく、price_rangesです。 PriceRangeモデルのテーブル名を上書きしない限り、Venuepricerangeアソシエーションではprice_range_idという外部キーが検索され、pricerange_idではありません。私は大会にこだわり、あなたの団体を作ることをお勧めします:

belongs_to :price_range # automatically uses class PriceRange, and foreign key `price_range_id` 
+0

あなたの言ったことを訂正しました。しかし、私が会場モデルを作成したとき、私はpricerangeを使用しました:マイグレーション時に次のコードを生成する参照: t.references:pricerange、foreign_key:true 私はprice_rangeに変更しましたが、データベースはリセットされましたが、モデルは引き続きpricerange_idを作成します。私はここで間違って何をしていますか? – user1301037

+0

あなたのコードを見ることなく、私は言うことができません。あなたのコードやスキーマのどこかで 'pricerange'への参照がまだあると思います。グローバル検索を試み、 'pricerange'を' price_range'に置き換えて、 'rake db:drop db:create db:migrate'に置き換えることができます。 –

関連する問題