проблема с доктриной: build-схема - PullRequest
2 голосов
/ 19 марта 2010

Я использую Symfony с доктриной, и я пытаюсь сгенерировать файл схемы yml из БД. Я получаю эту ошибку

     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. 

Это не проблемы с доступом, так как я проверил мои БД. Любые предложения о том, что я могу сделать? Я попробовал атрибут quote-identifier, но безуспешно: (

Я также изо всех сил пытаюсь найти хорошую документацию доктрины. я не могу найти, где находится список атрибутов, скажем, для создания столбца в файле schema.yml. Я попытался обратиться к форумам Symfony, но они не реагируют! Любая помощь будет принята с благодарностью! Спасибо ..

Ответы [ 2 ]

3 голосов
/ 20 марта 2010

Как уже упоминалось, group является зарезервированным ключевым словом в MySQL, поэтому вам нужно экранировать его имя. В вашем классе конфигурации проекта (/config/ProjectConfiguration.class.php) настройте Doctrine Manager для использования кавычек:

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

    public function configureDoctrine(Doctrine_Manager $manager) {
        $manager->setAttribute(Doctrine_Core::ATTR_QUOTE_IDENTIFIER, true);
    }
}
1 голос
/ 19 марта 2010

Предполагая, что вы используете последнюю версию MySQL, «группа» - это зарезервированное слово:

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

...