怎么通过生成迁移,在railsonruby列中添加索引(唯一的索引)?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (47)

我知道我可以

add_index :table_name, :column_name, :unique => true

但是,如何使用正确的Rails迁移命令来生成这些呢?

rails g migration add_index_to_column_name :column_name, :unique => true

是这样吗?

在我的特殊例子中,我有一个:

  t.integer :customerID
  t.string :surname
  t.string :first_name
  t.string :phone

我想将CustomerID设置为UNIQUE。试过

rails g migration AddIndexToCustomers :customerID, :unique => true 

但是,如果我在此之后查看我的迁移文件,它看起来不太正确:

def change
    add_column :customers, :, :customerID,
    add_column :customers, :, :unique
    add_column :customers, :=, :string
  end

提问于
用户回答回答于

从Rails 3.2开始,你可以使用:

 rails g migration add_index_to_table_name column_name:uniq

例如http://guides.rubyonrails.org/3_2_release_notes.html

 rails g scaffold Post title:string:index author:uniq price:decimal{7,2}

扫码关注云+社区