我在开发环境中使用SQlite,在生产环境中使用Postgre。
在开发过程中一切都很好。但是,当我尝试重置和迁移生产数据库时,收到了以下消息:
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
有什么想法吗?
最佳答案
您在迁移中创建的表名是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`