Доброго всем времени, у меня следующий возник вопрос, установил последнюю версию symfony, бандл сконфигурирован по принципу Аннотаций.
Стартую консоль создаю сущность $ php console doctrine:generate:entity
Попадаем в "раздел" создания сущености. Далее предлагается ввести название бандла куда будем создавать сущность Entity. Ну у меня не валяются сущности все в одной папке, все укладываю в подпапки. Следующая команда генерации $ BlogBundle:Blog\Post
Ну, после этой команды прописываем поля и их опции, это уже не суть.
После всего проделанного генерируются сущности и в папке по данному примеру Entity/Blog/Post.php есть такая запись в аннотмции
/**
* ORM\Table(name="Blog\Post")
*/
В этом варианте, если вернуться в консоль и выполнить команду
$ php console doctrine:schema:update --force
В консоли выбрасывается исключение и коды ошибок указывающие на невозможность создать таблицу с именем '\Post' CREATE TABLE
Команда: doctrine:generate:entity
не поддерживает указания названия таблицы, и ставит значение по умолчанию (всё что идет после названия бандла), придется вам вручную в каждой сущности названия таблиц прописать.
Здесь и не идёт речь о указании названия таблицы, в версиях ниже 3.0.0 всё было путём, сейчас вот такая беда, то есть именно в этой версии появились такие проблемы, не сказать что очень большая проблема но всё таки
dllweb:
/**
* ORM\Table(name="Blog\Post")
*/
эта запись указывает в какой таблице бд будут хранится записи. MySQL 5.7 в названиях таблиц поддерживает символы: [0-9,a-z,A-Z$_], как видите слеша среди них нет. Скорей всего раньше просто не генерировалась аннотация для имени таблицы, и поэтому таблицы назывались по умолчанию (по имени класса).
mistergonza: Ну это да, пофиксить бы, я не знаю вот именно, может есть возможность в конфигурации это исправить, а в вендор папку лезть последнее дело)
mistergonza: Кстати говоря по ссылке на гит, я этот файл правил сегодня, шаманил с 1066 строкой, хоть и приводил я строку в нужный вид, в консоли тоже была сплошная ругань, не выходило собственно ничего