Задать вопрос
@FimozMozga

Как сделать миграцию в Symfony?

Всем привет. Приступил к изучению Symfony 6 и столкнулся с 2-мя проблемами которых на Ларке например не встречал)

1. Допустим я создал юзера командой make:user и накатил миграцию. Дальше я хочу добавить дополнительные поля в сущность User, делаю make:entity, выбираю модель User и вставляю нужные поля. Далее создаю миграцию, и она мне в добавок к моим полям генерирует 2 поля типа
CREATE UNIQUE INDEX UNIQ_UKYF34Y5G345Y ON "user" (email)
и ALTER TABLE "user" ADD PRIMARY KEY (id) которые никак не дает нормально выполнить миграцию, постоянно ошибка мол дубликат. Когда удаляю эти поля все нормально работает. Откуда эти поля берутся и что это? При каждой созданной миграции появляются и их все больше и больше.

2. У меня есть таблица Post, которую хочу связать с таблицей User. Cоздаю поле user_id, выбираю relation, выбираю нужную сущность и тд. Короче создал миграцию, накатил и смотрю что в Post у меня вместо user_id, красуется user_id_id. Ну я вроде как понял что Symfony самостоятельно _id дорисовывает, пробую просто user дописать, а слово то зарезервированное уже, как с этим быть?
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@tukreb
Чтобы не было проблем с индексами и c постоянное перегенерацией имём индексов, нужно создавать их вручную
https://www.doctrine-project.org/projects/doctrine...
https://www.doctrine-project.org/projects/doctrine...

Исключение только для manyToMany

Насчёт генераций полей таблиц, тут тоже самое, нужно вручную прописывать все поля (name/type/length/nullable) в сущности, если не хотите получить каламбур и непонятное поведение доктрины
https://www.doctrine-project.org/projects/doctrine...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы