通过Rails迁移删除数据库表列的语法是什么?
当前回答
生成一个迁移以删除一个列,这样如果它被迁移(rake db:migrate),它应该删除该列。如果这个迁移被回滚(rake db:rollback),它应该将列添加回。
语法:
Remove_column:table_name,:column_name,:type
删除列,如果迁移回滚,也将列添加回。
例子:
remove_column :users, :last_name, :string
注意:如果跳过data_type,迁移将成功移除列,但如果回滚迁移,它将抛出一个错误。
其他回答
生成一个迁移以删除一个列,这样如果它被迁移(rake db:migrate),它应该删除该列。如果这个迁移被回滚(rake db:rollback),它应该将列添加回。
语法:
Remove_column:table_name,:column_name,:type
删除列,如果迁移回滚,也将列添加回。
例子:
remove_column :users, :last_name, :string
注意:如果跳过data_type,迁移将成功移除列,但如果回滚迁移,它将抛出一个错误。
这里还有一个来自rails控制台的例子
ActiveRecord::迁移。remove_column (: table_name column_name):
要从表中删除列,您必须运行以下迁移:
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的快速参考指南,可以在这里找到。
你可以尝试以下方法:
remove_column :table_name, :column_name
(官方文档)
推荐文章
- Rails:如何在Rails 4中引用CSS中的图像
- 如何使用RSpec的should_raise与任何类型的异常?
- 我看到VARCHAR(255)如此频繁地使用(而不是其他长度),有什么好的原因吗?
- 如何创建退出消息
- 忽略GEM,因为没有构建它的扩展
- Rails -嵌套包括活动记录?
- 在Gem::Specification.reset期间未解决的规格:
- 使用pgadmin连接到heroku数据库
- Delete_all vs destroy_all
- 双引号vs单引号
- 用any可以吗?'来检查数组是否为空?
- 我如何移动一个redis数据库从一个服务器到另一个?
- Rails获取“each”循环的索引
- 如何首次配置postgresql ?
- 数据库性能调优有哪些资源?