改變表格

如果你建立了一個包含錯誤模式的表,那麼更改列及其屬性的最簡單方法是 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