Search code examples
phpsymfony1doctrine

problem with doctrine:build-schema


im using symfony with doctrine, and Im trying to generate the schema yml file from a db. I get an this error

     SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near 'group' at line 1. Failing Query: "DESCRIBE group"I have a table named group in my database, and I suspect that this is screwing it up. 

Its not access problems as ive checked my db previleges. Any suggestions on what I can do? I have tried the quote-identifier attribute but with no luck : (

Im also struggling to find some good doctrine documentation. i cant seem to find where a list of attributes are, say for a creating a column in the schema.yml file. I tried reaching out to symfony forums but they are not responsive! Any help would be greatly appreciated! Thanks..


Solution

  • As mentioned group is reserved keyword in MySQL, so you need to escape its name. In your project configuration class (/config/ProjectConfiguration.class.php) configure Doctrine Manager to use quotes:

    class ProjectConfiguration extends sfProjectConfiguration {
        public function setup() {
            //...
        }
    
        public function configureDoctrine(Doctrine_Manager $manager) {
            $manager->setAttribute(Doctrine_Core::ATTR_QUOTE_IDENTIFIER, true);
        }
    }