Я пытаюсь синхронизировать некоторые обновления модели с существующей базой данных на MySQL.Раньше это работало хорошо, но теперь я получаю сообщение об ошибке:
#1005 - Can't create table 'edu_dev.#sql-132f_eef09' (errno: 150)
Я не могу понять, что не так.Обновление, которое я пытаюсь запустить, было сгенерировано следующим образом:
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL';
ALTER TABLE `edu_dev`.`user`
ADD CONSTRAINT `fk_user_language1`
FOREIGN KEY (`language` )
REFERENCES `edu_dev`.`language` (`iso` )
ON DELETE NO ACTION
ON UPDATE NO ACTION;
..
..
..
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
edu_dev
.язык уже существует со столбцом, используемым для проверки внешнего ключа.У меня есть 50 других таблиц, которые тоже должны быть обновлены, поэтому я бы предпочел не делать это вручную.