通过Rails迁移删除数据库表列的语法是什么?
当前回答
你可以尝试以下方法:
remove_column :table_name, :column_name
(官方文档)
其他回答
简单地说,您可以删除列
remove_column :table_name, :column_name
例如,
remove_column :posts, :comment
remove_column :table_name, :column_name
例如:
remove_column :users, :hobby
从用户表中删除嗜好列。
在rails4应用中,也可以使用change方法删除列。第三个参数是data_type,在可选的参数中可以给出选项。它在文档中的“可用转换”部分中有点隐藏。
class RemoveFieldFromTableName < ActiveRecord::Migration
def change
remove_column :table_name, :field_name, :data_type, {}
end
end
要从表中删除列,您必须运行以下迁移:
rails g migration remove_column_name_from_table_name column_name:data_type
然后执行命令:
rake db:migrate
删除RAILS 5应用程序的列
rails g migration Remove<Anything>From<TableName> [columnName:type]
上面的命令在db/migrate目录中生成一个迁移文件。Snippet blow是Rails生成器生成的从表中删除列的示例之一,
class RemoveAgeFromUsers < ActiveRecord::Migration
def up
remove_column :users, :age
end
def down
add_column :users, :age, :integer
end
end
我还做了一个Rails的快速参考指南,可以在这里找到。
推荐文章
- Ruby中没有增量操作符(++)?
- 我如何得到“id”后插入到MySQL数据库与Python?
- 什么是ORM,它是如何工作的,我应该如何使用它?
- 如何得到一个特定的输出迭代哈希在Ruby?
- Ruby正则表达式中\A \z和^ $的区别
- 我能在视图中得到当前控制器的名称吗?
- 为现有数据库生成ERD
- BASE术语解释
- __FILE__在Ruby中是什么意思?
- Paperclip::Errors::MissingRequiredValidatorError with Rails
- 如何表达一个NOT IN查询与ActiveRecord/Rails?
- Ruby on Rails form_for选择字段与类
- Ruby:如何将散列转换为HTTP参数?
- 非加密用途的最快哈希?
- 查询以列出数据库中每个表中的记录数量