改变表格

如果你创建了一个包含错误模式的表,那么更改列及其属性的最简单方法是 change_table。查看以下示例:

change_table :orders do |t|
  t.remove :ordered_at # removes column ordered_at
  t.string :skew_number # adds a new column 
  t.index  :skew_number #creates an index
  t.rename :location, :state #renames location column to state
end

上面的迁移改变了一个表 orders。以下是对更改的逐行说明:

  1. t.remove :ordered_at 从表 orders 中删除了列 ordered_at
  2. t.string :skew_numberorders 表中添加了一个名为 skew_number 的新字符串类型列。
  3. t.index :skew_numberorders 表中的 skew_number 列上添加了一个索引。
  4. t.rename :location, :stateorders 表中的 location 列重命名为 state