如何在Rails控制台中从表格中删除列

67

使用Rails迁移很容易删除列。

class SomeClass < ActiveRecord::Migration
  def self.up
    remove_column :table_name, :column_name
  end
end

我想知道是否有办法在控制台中移除表格中的某一列。

1个回答

138

您可以直接在rails console中运行up方法中的代码:

>> ActiveRecord::Migration.remove_column :table_name, :column_name

如果您已经拥有迁移文件,例如"db/migrate/20130418125100_remove_foo.rb",您可以执行以下操作:
>> require "db/migrate/20130418125100_remove_foo.rb"
>> RemoveFoo.up

如果你只想运行rake db:migrate,尝试这样做:

>> ActiveRecord::Migrator.migrate "db/migrate"

如果我没有任何迁移文件,我想执行它。在控制台中,remove_column:table_name,:column_name无法工作。它会显示:NoMethodError:undefined method `remove_column' for main:Object。 - Aman Garg
6
ActiveRecord::Migration.remove_column :table_name, :column_name 可以翻译为“ActiveRecord::Migration.remove_column :表名,列名”,而“This worked great!!”可以翻译为“这很棒!” - Jordan
你可能刚刚救了我的命。哈哈,好吧,这有点夸张了,但是说真的,非常感谢你。 - Freedom_Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接