У меня уже несколько объектов, но теперь в базе данных появилась новая таблица, и я бы хотел создать объект только в этой таблице.
Я уже это видел, но у меня есть дополнительные вопросы.
У меня уже есть объект User (и таблица db). Теперь новая таблица называется «Отчет» (для нее нет сущности для нее, я хочу ее создать), и у нее есть внешний ключ для пользователя. Есть еще несколько внешних ключей.
Если я сделаю то, что предлагается в приведенном выше ответе, то есть:
$ php app/console doctrine:mapping:import --force AppBundle xml --filter="Report" $ php app/console doctrine:mapping:convert annotation ./src/AppBundle/Entity --from-database --filter="Report" $ php app/console doctrine:generate:entities AppBundle:Report --no-backup
Будет ли генератор Doctrine попытаться изменить объект User? Или просто создаст объект Report?
Btw. Я понимаю (?), Этого не будет, потому что это отношение ManyToOne, но давайте предположим на мгновение, что это ManyToMany на мгновение.
Я знаю, что могу просто попробовать, но в последний раз, когда я выполнил doctrine:mapping:import --force
command, у меня закончилось сбойное приложение, и я потратил много часов на решение этой проблемы, пока кто-то из Stackoverflow не сказал мне удалить src\AppBundle/Resources/config/doctrine/
, что помогло.
Я не думал о создании резервной копии, прежде чем запускать эту команду.
Итак, я немного боюсь этого … Теперь я создал резервную копию, но я не уверен, поможет ли это в случае неприятностей.
Это зависит от каталога /Resources/config/doctrine
. Если вы очистите его и выполните описанные вами команды, будет изменен только объект Report
. Если у вас есть все предыдущие сопоставления в этом каталоге, он также должен изменить объект User
.
Команды будут автоматически создавать резервные копии ваших объектов для вас, поэтому у вас будет новый User.php
и резервная копия в User.php~
, о которой вы должны быть осторожны, если используете управление версиями и хотите git add src/
without слишком много думая об этом. Вы не хотите добавлять эти файлы в исходный элемент управления.
В любом случае, резервные копии создаются, и вы должны использовать контроль версий поверх этого, так что вы должны быть в порядке.