views:

232

answers:

2

Hi, 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..

+1  A: 

Assuming you're using up-to-date MySQL, "group" is a reserved word:

http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html

Tom
thanks tom. i was aware that group was the root of the problem, but i didnt know how to get around it.
Ying
+1  A: 

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:

class ProjectConfiguration extends sfProjectConfiguration {
    public function setup() {
        //...
    }

    public function configureDoctrine(Doctrine_Manager $manager) {
        $manager->setAttribue(Doctrine_Core::ATTR_QUOTE_IDENTIFIER, true);
    }
}
Crozin
this is awesome. this is exactly what i needed. thanks!! in the documentation, there is an attribute that you can set like --use-quote-identifier(from the command line), and that does not work. cheers
Ying