将迁移中的索引命名为索引:true



下面我有一个migrate,在那里我创建了一个索引:true。但是,这个名称对于那个索引来说太长了,所以我尝试自己命名它。然而,这似乎并不奏效。我得到了相同的"名称太长"错误。有没有一种方法可以用index来命名这样的索引:true?如果没有,我该如何使用add_index命名它?

class CreateVehicleProductApplicationNotes < ActiveRecord::Migration
  def change
    create_table :vehicle_product_application_notes do |t|
      t.references :product_id, index: true
      t.references :product_application_id, index: true, :name "my_index"
      t.references :note_id, index: true
      t.timestamps
    end
  end
end

您可以按如下方式传递包含索引名称的Hash,而不是true

t.references :product_application_id, index: { name: "my_index" }

参考:http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html

相关内容

  • 没有找到相关文章