Ruby on rails добавить столбец после определенного имени столбца
Я попытался добавить столбец в таблицу после определенного столбца в таблице.
Вот что я сделал:
rails generate migration add_reaction_id_to_patient_allergies reaction_id: integer :after => 'patient_id'
Вот как выглядит мой файл миграции:
class AddReactionIdToPatientAllergies < ActiveRecord::Migration
def change
add_column :patient_allergies, :reaction_id, :string
add_column :patient_allergies, :integer, :string
add_column :patient_allergies, :, :after
add_column :patient_allergies, :=, :string
end
end
Я не думаю, что команда прошла хорошо. Я вижу в этом файле '='. Я не думаю, что это должно быть там. Может кто-нибудь сказать мне, если я пропустил что-нибудь?
Если да, то как мне отменить выше?
Ответы
Ответ 1
Я сомневаюсь, что это разрешило вам фактически rake db:migrate
эту миграцию, поэтому вам не нужно откатываться. Просто снимите нижнюю тройку add_column
и замените верхнюю на
add_column :patient_allergies, :reaction_id, :integer, after: :patient_id
и для переноса должно быть хорошо. Для справок в будущем здесь должна быть следующая команда:
rails generate migration add_reaction_id_to_patient_allergies reaction_id:integer
Пробел перед integer
заставил генератора думать, что это новый столбец. К сожалению, вы не можете использовать синтаксис Ruby (a => b
) в командной строке.