[DBAL-285] Schema generation fails when primary key is quoted Created: 23/May/12  Updated: 17/Apr/14  Resolved: 04/Jul/12

Status: Resolved
Project: Doctrine DBAL
Component/s: None
Affects Version/s: 2.1.6, 2.2-BETA1, 2.2-BETA2, 2.2-RC1/RC2, 2.2.0-RC3, 2.2, 2.2.1, 2.2.2
Fix Version/s: None
Security Level: All

Type: Bug Priority: Major
Reporter: Marc Easen Assignee: Benjamin Eberlei
Resolution: Fixed Votes: 0
Labels: None

Linux (gentoo), PHP 5.3.13, MySQL 5.1.62, Symfony2

Attachments: Text File DBAL_Primary_key_fix.txt    


All of our entities are generated with their name quoted with back-ticks, this is to allow RAD.
When Doctrine comes to update the schema it fails to see the primary key is quoted and thus compared an index of PRIMARY(id) to PRIMARY(`id`). Which means it then tries to drop the primary index and recreate it, using a quoted field name.

This fix is to when the primary index is created is to fetch the columns from the table and get their unquoted name, so now when the comparison takes place it looks like this PRIMARY(id) to PRIMARY(id), therefore doesn't register this as a change.

Comment by Benjamin Eberlei [ 04/Jul/12 ]


Generated at Thu Aug 27 20:15:17 EDT 2015 using JIRA 6.4.10#64025-sha1:5b8b74079161cd76a20ab66dda52747ee6701bd6.