更改現有列型別
要通過遷移修改 Rails 中的現有列,請執行以下命令:
rails g migration change_column_in_table
這將在 db/migration
目錄中建立一個新的遷移檔案(如果它尚不存在),它將包含字首為 timestamp 的檔案和包含以下內容的遷移檔名:
def change
change_column(:table_name, :column_name, :new_type)
end
一種更長但更安全的方法
上面的程式碼可以防止使用者回滾遷移。你可以通過將 change
方法拆分為單獨的 up
和 down
方法來避免此問題:
def up
change_column :my_table, :my_column, :new_type
end
def down
change_column :my_table, :my_column, :old_type
end