【发布时间】:2018-06-19 17:05:30
【问题描述】:
/**
* Foo
*
* @ORM\Table(name="foos", ...)
* @ORM\Entity
* @ORM\InheritanceType("JOINED")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({
* "bar" = "Bar",
* "buz" = "Buz"
* })
*/
abstract class Foo
{
...
}
由于我运行“代码优先”的方法,所以数据库是由 Doctrine 生成的:
$ bin/console doctrine:migrations:diff
$ bin/console doctrine:migrations:migrate
鉴别器列foos.type 获取类型VARCHAR(255)。我希望它改为获得ENUM。
如何定义实体类的注解以获取ENUM判别器?
【问题讨论】:
-
再一次,编辑架构文件是我发现的唯一方法。没关系。无论如何,您无法通过 orm 访问它。
标签: mysql inheritance enums doctrine-orm class-table-inheritance