Symfony2中的Doctrine2迁移会在索引创建时抛出异常

时间:2013-03-20 09:50:49

标签: symfony doctrine-orm database-migration doctrine-migrations

问题

以前没有暂停迁移我运行:

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)  

额外知识

  1. 我在课堂上通过注释宣布我的实体。
  2. 此代码正常运行(但我要手动运行一些在这种异常后没有运行的操作)
  3. 我想知道

    1. 是什么导致了这个错误?
    2. 有什么办法可以解决吗? (例如通过Doctrine更新或一些MySQL参数)

1 个答案:

答案 0 :(得分:0)

@Ocramius和@Lighthart建议,这是一个纯SQL问题。它来自错误的Doctrine实体声明,生成不一致的SQL。

问题中描述的错误与列级别的不一致相关联,键是int(11)和外键varchar(255)。