迁移中有以下几个:
create_table :model_with_a_long_name do |t| t.references :other_model_with_an_equally_long_name,index: true end
这会产生一个索引,其长度不能超过Postgres.
类似以下内容:
create_table :model_with_a_long_name do |t| t.references :other_model_with_an_equally_long_name,index: true,index_name: 'model_and_other' end
?
解决方法
根据
Rails code for
references
,您可以这样做,为索引提供一个Hash选项,您需要调用的名称:name,so:
t.references :my_field,index: { name: 'my_index_name' }