У меня свежая версия Symfony 1.4 с Doctrine ORM.
Я ищу установить плагин sfDoctrineGuard.Я следовал инструкциям здесь: http://www.symfony -project.org / plugins / sfDoctrineGuardPlugin
все прекрасно работает до этого шага: доктрина Symfony: insert-sql
, когда яполучить сообщение об ошибке:
SQLSTATE [HY000]: общая ошибка: 1005 Невозможно создать кикбоксинг таблицы. # sql-2b5b_a8f '(ошибка 150) Запрос «ALTER TABLE» ДОБАВИТЬ КОНСТРАИНТ(sf_guard_user_id) ССЫЛКИ sf_guard_user (id)
Создается впечатление, что были созданы несколько таблиц:
profile sf_guard_forgot_password sf_guard_group sf_guard_group_permission sf_ard_guard_serguard_serguard1020 *
ОБНОВЛЕНИЕ: я обнаружил, что это действительно не имеет ничего общего с doctrine / symfony. Проблема, похоже, связана с mysql, я выполнил команду alter выше в MySQL и, конечно, получаю ту же ошибку.
Для справки, у меня установлен Debian Squeeze и mysql5.
ОБНОВЛЕНИЕ2: когда я запускаю
SHOW INNODB STATUS;
я получаю
ПОСЛЕДНЯЯ ОШИБКА ИНОСТРАННОГО КЛЮЧА
110927 7:58: 35 Ошибка в ограничении внешнего ключа таблицы _kickboxing / # sql-2b5b_a86: FOREIGN KEY (sf_guard_user_id) REFERENCES sf_guard_user (id): не удается найти индекс в ссылочной таблице, где указанные столбцы отображаются как первые столбцы, или типы столбцов вТаблица и ссылочная таблица не соответствуют ограничениям.Обратите внимание, что тип внутренней памяти ENUM и SET изменился в таблицах, созданных с помощью> = InnoDB-4.1.12, и на такие столбцы в старых таблицах нельзя ссылаться такими столбцами в новых таблицах.См. http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html для правильного определения внешнего ключа.