2011-07-26 11 views
9

:phone整数を文字列に変更するには、次の移行を編集する方法を誰にも教えてください。移行:列を整数から文字列に変更

class CreateContactInfos < ActiveRecord::Migration 
    def change 
    create_table :contact_infos do |t| 
     t.integer :phone 
     t.string :facebook 
     t.references :user 

     t.timestamps 
    end 
    add_index :contact_infos, :user_id 
    end 
end 

ありがとうございます!

答えて

20

私はあなたがすでにあなたが見せているものを移行したと思いますので、あなたが置くところている別のものを作成します。

change_column :contact_infos, :phone, :string 
+0

ありがとうございます:D – imjp

+10

本当に長い電話番号を格納する予定がない限り、 ':string'でなければなりません。':text'は255文字以上のテキストを意味します。 – tmandry

1

私は新しい移行を生成するthis.We必要にいくつかのより多くの説明を追加した

rails g migration change_phone_to_be_string_in_contact_infos

我々は、移行を開く場合、私たちはこの

class ChangePhoneToBeStringInContactInfos < ActiveRecord::Migration[5.0] 
def change 
end 
end 
のようなものが表示されるはずです

私たちがこのマイグレーションと呼ぶことは、次に何をする必要があるのか​​に影響を与えませんが、私たちと他の開発者はマイグレーションを適切に命名してくれたことに感謝します。

ご覧のとおり、変更方法は空になっています。手動でコードを追加する必要があります。

class ChangePhoneToBeStringInContactInfos < ActiveRecord::Migration[5.0] 
def change 
    change_column :customers, :phone, :string 
end 
end 

このファイルを保存した後に、rake db:migrateを実行すると、私たちが望む変更が表示されます。

関連する問題