如何使用Rails迁移删除列
通过Rails迁移删除数据库表列的语法是什么?
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
从数据库表中删除列时请确保不要使用change方法(Rails 3应用程序中的迁移文件中不需要的示例):
def change
remove_column :table_name, :field_name
end
Rails 3中的更改方法在remove_column方面并不明智,因此您将无法回滚此迁移。
链接地址: http://www.djcxy.com/p/47179.html