如何使用rails控制台从表中删除列

Ama*_*arg 59 activerecord ruby-on-rails rails-migrations ruby-on-rails-3.2

使用rails迁移很容易删除列.

class SomeClass < ActiveRecord::Migration
  def self.up
    remove_column :table_name, :column_name
  end
end
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方法可以使用控制台从表中删除列.

Jun*_*hou 112

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

>> ActiveRecord::Migration.remove_column :table_name, :column_name
Run Code Online (Sandbox Code Playgroud)

如果您已有一个迁移文件,例如" db/migrate/20130418125100_remove_foo.rb",则可以执行以下操作:

>> require "db/migrate/20130418125100_remove_foo.rb"
>> RemoveFoo.up
Run Code Online (Sandbox Code Playgroud)

如果你只是想做rake db:migrate,试试这个:

>> ActiveRecord::Migrator.migrate "db/migrate"
Run Code Online (Sandbox Code Playgroud)

  • `ActiveRecord :: Migration.remove_column:table_name,:column_name`这很棒! (4认同)