有人可以告诉我如何编辑以下迁移以将: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
提前致谢!
答案 0 :(得分:24)
我猜你已经迁移了你正在展示的那个,所以要创建另一个你要放的那个:
change_column :contact_infos, :phone, :string
答案 1 :(得分:2)
我已经为此添加了一些解释。我们需要生成一个新的迁移
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,即可看到我们想要的更改。