我正在使用SQlite用于开发环境,而Postgre用于生产。
在开发过程中一切都很顺利。但是当我尝试重置并迁移生产数据库时,我收到以下消息:
PG::UndefinedTable: ERROR: relation "priceranges" does not exist
...
FOREIGN KEY ("pricerange_id")
REFERENCES "priceranges" ("id")
我的场地模型:
belongs_to :pricerange, :class_name => "PriceRange"
我的价格范围迁移:
class CreatePriceRanges< ActiveRecord::Migration[5.0]
def change
create_table :price_ranges do |t|
t.string :price_description
t.timestamps
end
end
end
有什么想法吗?
答案 0 :(得分:3)
您在迁移中创建的表格名称为price_ranges
,而不是priceranges
。除非您覆盖PriceRange
模型中的表名,否则pricerange
上的Venue
关联将查找名为price_range_id
的外键,而不是pricerange_id
。我建议坚持使用惯例,并建立联系:
belongs_to :price_range # automatically uses class PriceRange, and foreign key `price_range_id`