更改现有列类型
要通过迁移修改 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