Я вижу ошибку ниже, когда я запускаю следующий запрос внутри миграции Doctrine:SQLSTATE [HY000]: Общая ошибка: 1025 Ошибка на ошибке переименования при удалении внешнего ключа в Учении миграции
ALTER TABLE crmpicco_course_version DROP FOREIGN KEY FK_C060B146DE13F470
Migration 20151209153121 failed during Execution.
Error An exception occurred while executing
'ALTER TABLE crmpicco_course_version DROP FOREIGN KEY FK_C060B146DE13F470':
SQLSTATE[HY000]: General error:
1025 Error on rename of './crmpicco_dev/crmpicco_course_version'
to './crmpicco_dev/#sql2-77c-b0a' (errno: 152)
Это таблица Я пытаюсь изменить:
CREATE TABLE `crmpicco_course_version` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`course_id` int(11) NOT NULL,
`updated_by_id` int(11) DEFAULT NULL,
`name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`start_date` datetime DEFAULT NULL,
`end_date` datetime DEFAULT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`),
KEY `IDX_C060B146896DBBDE` (`updated_by_id`),
KEY `IDX_C060B146DE13F470` (`course_id`),
CONSTRAINT `FK_C060B146896DBBDE` FOREIGN KEY (`updated_by_id`) REFERENCES `crmpicco_user` (`id`),
CONSTRAINT `FK_C060B146DE13F470` FOREIGN KEY (`course_id`) REFERENCES `crmpicco_course` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Что мешает мне сбросив этот внешний ключ успешно?
Когда я бег SHOW ENGINE INNODB STATUS
я получаю следующее:
------------------------
LATEST FOREIGN KEY ERROR
------------------------
151209 16:25:42 Error IN dropping of a FOREIGN KEY CONSTRAINT of TABLE "crmpicco_dev"."crmpicco_course_version",
IN SQL command
ALTER TABLE crmpicco_course_version DROP FOREIGN KEY FK_C060B146DE13F470
Cannot find a CONSTRAINT WITH the given id "FK_C060B146DE13F470".
Что показывает «SHOW ENGINE INNODB STATUS» после запуска запроса? – tftd
@tftd Я обновил вопрос с выходом. 'CONSTRAINT' удаляется перед' FOREIGN KEY', однако это мое понимание того, как работают миграции Doctrine. Это подтверждается stof здесь https://github.com/doctrine/migrations/issues/83#issuecomment-7261301 – crmpicco
Интересно ... У меня такое чувство, что это может быть ошибка. Посмотрите на этот [sqlfiddle] (http://sqlfiddle.com/#!2/8cc3a/1), который доказывает, что код sql работает нормально. Вы пытались обновить зависимость доктрины или mysql? При поиске 'errorno: 152' я заметил пару тем в официальной форме mysql. Есть несколько здесь и на SO. – tftd