23

移行に触れて追加できることを知っています

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

しかし、これを生成するための適切なレール移行コマンドはどうですか?

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 を一意に設定したい。試した

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

しかし、この後に移行ファイルを見ると、次のように正しく見えません。

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

アイデアや提案はありますか?

4

1 に答える 1

46

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}

アップすいません。渡さない場合のデフォルトの型は文字列になります。自分でタイプを渡すことができます。

column_name:type:uniq

したがって、例は次のようになります。

rails g migration add_index_to_customers customerID:integer:uniq
于 2013-05-08T17:46:57.667 に答える