【发布时间】:2013-03-20 09:50:49
【问题描述】:
问题
我运行之前没有待处理的迁移:
app/console doctrine:migration:diff
app/console doctrine:migration:migrate
我收到了这个错误:
ALTER TABLE session ADD CONSTRAINT FK_9955C22EA76ED395 FOREIGN KEY (user_id) REFERENCES user(id)
Migration 20130320103822 failed during Execution. Error SQLSTATE[HY000]: General error: 1005 Can't create table 'mydb.#sql-3e4_75e0' (errno: 150)
[PDOException]
SQLSTATE[HY000]: General error: 1005 Can't create table 'mydb.#sql-3e4_75e0' (errno: 150)
额外知识
- 我正在通过类中的注释声明我的实体。
- 此代码正在运行(但我必须手动运行一些在出现此类异常后未运行的操作)
我想知道什么
- 是什么导致了这个错误?
- 有什么办法可以解决吗? (例如通过 Doctrine 更新或一些 MySQL 参数)
【问题讨论】:
-
尝试在 MySQL CLI 中(手动)运行 DDL SQL,然后运行
SHOW ENGINE InnoDB STATUS以获取更多详细信息。错误 1005 是因为引用的表中缺少索引。 -
这看起来你的mysql用户没有创建表的权限,但是Ocramius的建议对于全面调试是必要的。
-
谢谢,我会检查一下,并告诉你
标签: symfony doctrine-orm database-migration doctrine-migrations