我正在使用doctrine:generate:entity
命令来生成实体。我想使用guid
(string(32)
)代替integer
作为ID类型,但当我在id:string(32)
选项中将其指定为--fields
时,我会收到以下错误:
[Doctrine\ORM\Mapping\MappingException]
Duplicate definition of column 'id' on entity 'Acme\DemoBundle\Entity\Test' in a field or discriminator column mapping.
我该怎么办才能让它发挥作用?
@answer:
正如@loicfavory在评论中写道,唯一的方法是扩展Sensio\Bundle\GeneratorBundle\Generator\DoctrineEntityGenerator
类,其中id
选项是手动设置的。
答案 0 :(得分:1)
ID由DoctrineEntityGenerator自动生成,具有整数类型。 我认为如果你用--fields选项指定它,它会复制字段的创建。
那是你得到的错误。
在命令创建后,您是否尝试在实体类中手动更改类型?