remove_column :table_name, :column_name
例如:
remove_column :users, :hobby
将从用户表中删除爱好列。
对于旧版本的 Rails
ruby script/generate migration RemoveFieldNameFromTableName field_name:datatype
适用于 Rails 3 及更高版本
rails generate migration RemoveFieldNameFromTableName field_name:datatype
Rails 4 已更新,因此可以在迁移中使用更改方法删除列,并且迁移将成功回滚。请阅读有关 Rails 3 应用程序的以下警告:
Rails 3 警告
请注意,使用此命令时:
rails generate migration RemoveFieldNameFromTableName field_name:datatype
生成的迁移将如下所示:
def up
remove_column :table_name, :field_name
end
def down
add_column :table_name, :field_name, :datatype
end
从数据库表中删除列时,请确保不要使用更改方法(例如,Rails 3 应用程序的迁移文件中不需要的示例):
def change
remove_column :table_name, :field_name
end
在谈到 remove_column 时,Rails 3 中的 change 方法并不明智,因此您将无法回滚此迁移。