Я создал миграцию базы данных Rails, чтобы добавить новый столбец в таблицу в моей базе данных, но после того, как я заметил, что это занимает намного больше времени, чем ожидалось (15 минут плюс), я вручную убил процесс ruby, выполняющий миграцию. Затем я понял, что время выполнения не было необычным из-за количества данных в таблице, поэтому я попытался запустить его снова. Теперь я получаю ошибку:
Mysql::Error: Duplicate column name 'new_column': ALTER TABLE `table_name` ADD `new_column` varchar(255)
Однако, когда я вручную захожу в MySQL, desc table_name
показывает, что столбец не существует, и попытка удалить его вручную (alter table table_name drop new_column
) говорит мне:
ERROR 1091 (42000): Can't DROP 'new_column'; check that column/key exists
Похоже, что прерывание начального процесса добавления привело к тому, что вещи оказались в несовместимом состоянии. Что мне нужно сделать, чтобы решить эту проблему?
Редактировать : я попытался добавить вручную (скопировав именно DDL из вышеприведенной ошибки), затем сбросив столбец в приглашении MySQL, и оба работали нормально, но rake db:migrate
продолжает выдавать ошибку выше.