移行に触れて追加できることはわかっています
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
顧客IDを一意に設定したい。試してみた
rails g migration AddIndexToCustomers :customerID, :unique => true
しかし、この後で移行ファイルを確認すると、次のように正しくないように見えます。
def change
add_column :customers, :, :customerID,
add_column :customers, :, :unique
add_column :customers, :=, :string
end
何かアイデアや提案はありますか?
ベストアンサー1
Rails 3.2 以降では以下を使用できます:
rails g migration add_index_to_table_name column_name:type:uniq
- 通常通り、型は文字列にデフォルト設定されます
rails g scaffold Post title:string:index author:uniq price:decimal{7,2}
質問への回答
rails g migration add_index_to_customers customerID:integer:uniq