Symfony, унаследованные объекты и doctrine миграция - PullRequest
3 голосов
/ 24 января 2020

В Symfony 5.0 я использую обобщенные c классы сущностей для объединения внутренних проектов. Моя сущность generi c (например, Table) выглядит следующим образом:


use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="App\Repository\TableRepository")
 * @ORM\InheritanceType("SINGLE_TABLE")
 * @ORM\DiscriminatorMap({"generic_table": "App\Entity\Generic\Table", "table": "App\Entity\Table"})
 */
class Site
{
    //protected properties and public methods
}

И унаследованный класс:


use App\Entity\Generic\Table as GenericTable;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="App\Repository\TableRepository")
 */
class Table extends GenericTable
{
    //private properties and public methods
}

Однако при выполнении этой команды:

php bin/console make:migration

Возвращает следующее:

Table mybd.table already exists.

Даже если таблицы нет.

Есть идеи? Я забыл заявление ORM?

1 Ответ

0 голосов
/ 24 января 2020

Задание: мы должны определить различные имена таблиц в @ORM \ Аннотация таблицы:

@ORM\Table(name="generic_table") для class Table

@ORM\Table(name="table") для class Table extends GenericTable

Наконец, он создает только в таблице базы данных generic_table и переопределяет ограничения для этой таблицы. Но у меня все еще есть проблемы с хранилищами ...

...