2015-07-11 1 views
0

Я использую Zend Framework 2.4.3 и Doctrine 0.9 (для ZF2). Мои имена сущностей находятся в CamelCase, тогда как имена моих таблиц - в нижнем регистре. Это приводит как ошибка в MySQLне может изменить стратегию имени в Doctrine 2

«SQLSTATE [42S02]: Базовая таблица или представление не найдено: 1146 Таблица„mydb.Campaign“не существует»

Конечно, я могу переименовать свою сущность в нижний регистр, но мой вопрос почему таблица аннотации не работают Я определил свою сущность, как

/** 
* ORM\Table(name="campaign") 
**/ 
class Campaign 
{ 
    //fields are here 
} 

Я создал custom NamingStrategy к нижнему регистру имени таблицы, но доктрина как-то не использует NamingStrategy. Я говорю это, потому что я изменил код DefaultNamingStrategy, чтобы изменить регистр имен таблиц, но приведенное имя таблицы всегда является Кампанией, а не «кампанией».

Я что-то упустил?

+0

Какой DB вы используете? – Saeven

+0

MySql, и нет возможности изменить его из регистра чувствительного к регистру нечувствительного – ZafarYousafi

+0

Почему этот вопрос помечен как «symfony2»? –

ответ

0

Если этот код является то, что вы используете для YOUT сущности, то Тера недостающее @ перед тем ORM:

/** 
* @ORM\Entity 
* @ORM\Table(name="campaign") 
*/ 
class Campaign 
Смежные вопросы