开发者

Error: "Index '' does not exist on table" when trying to create entities in Doctrine 2.0 CLI

I have a mySQL database. I am trying to get Doctrine2 to create entities from the MySQL schema. I tried this with our production database, and got the following error:

[Doctrine\DBAL\Schema\SchemaException] Index '' does not exist on table user

I then created a simple test database with only one table, and only three fields: an auto-increment primary key field and three varchar fields. When attempting to have doctrine create entities from this database, I got the same error.

Here is the table that I was trying to create an entitie for. (Should have been simple)

mysql> desc user;  
+-----------+-------------+------+-----+---------+----------------+  
| Field     | Type        | Null | Key | Default | Extra     开发者_StackOverflow     |  
+-----------+-------------+------+-----+---------+----------------+  
| iduser    | int(11)     | NO   | PRI | NULL    | auto_increment |  
| firstname | varchar(45) | YES  |     | NULL    |                |  
| lastname  | varchar(45) | YES  |     | NULL    |                |  
| username  | varchar(45) | YES  |     | NULL    |                |  
+-----------+-------------+------+-----+---------+----------------+  
4 rows in set (0.00 sec)  

Here is the command that I used in an attempt to get said entities created:

./doctrine orm:convert-mapping --from-database test ../models/test

I am running:

  • 5.1.49-1ubuntu8.1 (Ubuntu)
  • mysql Ver 14.14 Distrib 5.1.49, for debian-linux-gnu (i686) using readline 6.1
  • Doctrine 2.0.1


I am facing the same problem right now. I have traced the problem back to the primary key being not identified / set correctly. The default value is boolean(false) which is cast to the string ''. Doctrine subsequently fails to locate an index for this attribute. ;-)

Solution: Define a PRIMARY KEY.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜