Как я могу удалить столбец из таблицы с помощью консоли rails

Легко можно удалить столбец с помощью миграции на рельсы.

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

Я хочу знать, есть ли способ удалить столбец из таблицы с помощью консоли.


person Aman Garg    schedule 18.04.2013    source источник


Ответы (1)


Вы можете запускать коды в методе up непосредственно в rails console:

>> 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"
person Jun Zhou    schedule 18.04.2013
comment
Я хочу выполнить это, если у меня нет файла миграции. remove_column :table_name, :column_name не работает в консоли. Он говорит: NoMethodError: неопределенный метод `remove_column' для main:Object - person Aman Garg; 18.04.2013
comment
ActiveRecord::Migration.remove_column :table_name, :column_name Отлично сработало!! - person Jordan; 25.07.2014
comment
Возможно, вы только что спасли мне жизнь. Лол, ладно, это слишком драматично, но серьезно, спасибо - person Freedom_Ben; 14.07.2016