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

Перенос Rails 4: как изменить порядок столбцов

Я узнал, что add_column имеет параметр :after, чтобы установить, где вставлен столбец. Жаль, что я узнал об этом: после добавления группы.

Как написать миграцию, чтобы просто переупорядочить столбцы?

4b9b3361

Ответ 1

Вы можете вызвать change_column, но вам нужно повторить тип столбца (просто скопируйте и вставьте его из другой миграции):

def up
  change_column :your_table, :some_column, :integer, after: :other_column
end

Или если вам нужно переупорядочить несколько столбцов в одной таблице:

def up
  change_table :your_table do |t|
    t.change :some_column, :integer, after: :other_column
    # ...
  end
end

change_column вызывает ALTER TABLE под капотом. Из документации MySQL :

Вы также можете использовать операции FIRST и AFTER в CHANGE или MODIFY для переупорядочить столбцы в таблице.

Ответ 2

Решение Stefan идеально подходит, если вы имеете дело с несколькими столбцами. Если у вас есть несколько столбцов, которые нужно переустановить и на Mac, я предлагаю вам взглянуть на Sequel Pro, отличный инструмент управления базами данных, который упрощает переупорядочивание столбцов базы данных. Просто перетащите.

PS: Я ни с кем не связан с ними.