2014-01-08 3 views
1

Я использую Doctrine Migrations, используя автономный пакет PHAR. Интерфейс командной строки, кажется, не в состоянии более Mysql зарезервированными ключевыми словами:Doctrine Migrations failers по зарезервированным ключевым словам

./doctrine-migrations migrations:status 

[PDOException]                                                 
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 'LINES' at line 1 

Вот моя база данных содержит таблицу с именем LINES, которая является зарезервированным ключевым словом.

Есть ли способ обойти это?

+0

Почему вы не меняете имя таблицы? – raygo

+0

@raygo Я предпочитаю иметь Doctrine Migrations, чтобы иметь возможность иметь дело с зарезервированными ключевыми словами правильно, перекомпоновать excisting код, чтобы отразить изменение в имени таблицы ... – rixmit

ответ

2

Если вы собираетесь использовать зарезервированные слова, поместите их в кавычки:

/** @Column(name="`number`", type="integer") */ 
private $number; 

Я рекомендовал бы вам не использовать зарезервированные слова, если вы не должны, хотя!

+0

Доктрина миграции. CLI, кажется, перечисляет таблицы в db, что где это, вероятно, идет не так. У меня нет контроля над этой функциональностью, т. Е. Я не могу поставить кавычки, поскольку это не мой код, который выполняется ... – rixmit

Смежные вопросы