Подтвердить что ты не робот

Rails: как добавить add_index в существующую таблицу

Я уже перенес таблицу, называемую единицами с несколькими столбцами. Мне было интересно, как мигрировать в отдельный "add_index" в эту таблицу, используя cmd. Правильно ли этот код:

class AddIndexToUnits < ActiveRecord::Migration
  def self.up
    add_index :units, :lesson_id
  end

  def self.down
    remove :units
  end
end

У меня такое чувство, что самозахват может быть неправильным, я не уверен.

4b9b3361

Ответ 1

Метод self.up верен. Используйте это для своего self.down:

remove_index :units, :column => :lesson_id

Ответ 2

Почти

class AddIndexToUnits < ActiveRecord::Migration
  def self.up
    add_index :units, :lesson_id, :name=>'lesson_index'
  end

  def self.down
    remove_index :units, 'lesson_index'
  end
end

Ответ 3

Чтобы удалить индекс, вы должны использовать remove_index с той же спецификацией таблицы и столбца, что и self.up add_index. Итак:

def self.down
  remove_index :units, :lesson_id
end

Пример с несколькими столбцами:

def self.down
  remove_index :units, [:lesson_id, :user_id]
end