通过Rails迁移删除数据库表列的语法是什么?


当前回答

简单地说,您可以删除列

remove_column :table_name, :column_name

例如,

remove_column :posts, :comment

其他回答

你可以尝试以下方法:

remove_column :table_name, :column_name

(官方文档)

简单地说,您可以删除列

remove_column :table_name, :column_name

例如,

remove_column :posts, :comment

在rails4应用中,也可以使用change方法删除列。第三个参数是data_type,在可选的参数中可以给出选项。它在文档中的“可用转换”部分中有点隐藏。

class RemoveFieldFromTableName < ActiveRecord::Migration
  def change
    remove_column :table_name, :field_name, :data_type, {}
  end
end

在rails控制台中运行即可

ActiveRecord::Base.connection.remove_column("table_name", :column_name, :its_data_type)

or

TableName.find_by_sql(“ALTER TABLE table_name DROP column_name”)

这里还有一个来自rails控制台的例子

ActiveRecord::迁移。remove_column (: table_name column_name):