Возникла исключительная ситуация при выполнении команды ALTER TABLE

0

У меня проблема со многими для многих ассоциаций. У меня есть 2 объекта с именем пользователя

/**
 * @ManyToMany(targetEntity="DataSiteBundle\Entity\Site", mappedBy="user")
 * @ORM\JoinColumn(
 *     name="id_site",
 *     referencedColumnName="id_site",
 *     nullable=false,
 *     onDelete="CASCADE"
 * )
 */
private $site;

а другой называется сайтом

/**
 * @Groups({"site-read","site-write"})
 * @ORM\ManyToMany(targetEntity="UserBundle\Entity\User" , inversedBy="site")
 * @ORM\JoinColumn(
 *     name="id_user",
 *     referencedColumnName="id_user",
 *     nullable=false,
 *     onDelete="CASCADE"
 * )
 *
 */
private $user;

когда я пытаюсь сделать doctrine:schema:update --force

Я получил это в AbstractMySQLDriver.php строка 121:

An exception occurred while executing 'ALTER TABLE site_user ADD CONSTRAINT FK_B6096BB0F6BD1646 FOREIGN KEY (site_id) REFERENCES sp_site (id) ON DELETE CASCADE':                                                                  

  SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint       
Теги:
doctrine2

1 ответ

0

Ваша проблема в том, что есть таблица с существующим ограничением. Я думаю, что есть два решения

Если вы находитесь в dev, вы можете восстановить свою базу данных

doctrine:database:drop --force
doctrine:database:create
doctrine:schema:update --force

Если вы работаете на производстве, я считаю, что вам нужно сделать сценарий для получения ваших данных, сохранить где-нибудь, удалить таблицу и переделать ее или создать скрипт в sql, чтобы пропустить эту проблему

  • 0
    я пробовал много раз, но ничего не изменилось
  • 0
    Что вы пробовали? сбросить базу данных? Если это так, удалите каталог кэша, прежде чем сделать все, пожалуйста @MajdiAllagui
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню