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


当前回答

您可以使用rails迁移命令

rails generate migration RemoveColumnNameFromTableName column_name:column_type

然后你可以迁移数据库:

rails db:migrate

其他回答

从表中删除列只需简单的3个步骤如下:

写这个命令

Rails迁移remove_column_from_table_name

在终端上运行此命令后,使用此名称和时间戳创建的文件(remove_column from_table_name)。

然后转到这个文件。

里面的文件你必须写 Remove_column:table_name,:column_name 最后转到控制台,然后执行 rake db: migrate

简单地说,您可以删除列

remove_column :table_name, :column_name

例如,

remove_column :posts, :comment

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

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

有两种好方法:

remove_column

你可以简单地使用remove_column,像这样:

remove_column :users, :first_name

如果您只需要对模式进行单个更改,那么这是很好的。

change_table块

你也可以使用change_table块来做到这一点,像这样:

change_table :users do |t|
  t.remove :first_name
end

我更喜欢这个,因为我发现它更容易读懂,你可以一次做几个改变。

下面是支持的change_table方法的完整列表:

http://apidock.com/rails/ActiveRecord/ConnectionAdapters/SchemaStatements/change_table

你可以尝试以下方法:

remove_column :table_name, :column_name

(官方文档)