有时候第一次用rails g model或者scaffold建立数据模型的时候难免会出错,比如字段类型错误或者字段名称错误,甚至少添加或多添加了几个字段哦。这种情况下手动去修改数据结构是比较头疼的,官方的做法是使用:
rails g migration xxxForModelName
在db/migrate中会生成一个新的rb文件,然后修改里面的内容,有如下方法:
remove_column
:删除字段
:删除字段
rename_column
:更改字段的名称
:更改字段的名称
change_column :修改字段的类型
add_column :增加字段
最后用rake db:migrate就可以鸟。比如我的model Users中少添加了一个字段password,我可以做如下操作:
1. rails g migration ChangeForUsers
2.在新建的rb文件中写入如下内容:
class ChangeForUsers < ActiveRecord::Migration def change add_column :users,:password,:string end end
最后rake db:migrate即可
不过还有更方便的方法,比如你可以这么写:
rails g migration add_quantity_to_line_items quantity:integer
然后生成的migrate格式为:
class AddQuantityToLineItems < ActiveRecord::Migration
def change
add_column :line_items, :quantity, :integer
end
end
这正是我们想要的.