Symfony 2.3 / FOS User Bundle 列的重复定义


Symfony 2.3 / FOS User Bundle duplicate definition of column

我们使用FOSUserBundle与Doctrine,需要更改映射。以下方法在Symfony 2.1.x中工作正常:

  1. 我们的用户实体扩展了 FOS''用户捆绑包''模型''用户
  2. 我们的 mapping.orm.yml 映射捆绑包使用的所有字段

这仍然是推荐的方法 (https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/doctrine.md)

升级到Symfony 2.3后,这不再有效:更新"doctrine:schema:update --force"产生以下类型的错误

列"X"的重复定义

其中 x 是 FOSUserBundle 已经使用的任何字段。

有谁知道哪些更改会导致此错误?

不是 100% 确定这是否与您所说的内容相关,但听起来您需要使用属性覆盖

例如,如果要使 salt 属性可为空,则用户实体Acme'UserBundle'Entity'User将需要类似于以下映射的内容

# user.orm.yml
Acme'UserBundle'Entity'User:
    type: entity
    id:
        id:
            type: integer
            generator: { strategy: AUTO }
    attributeOverride:
        salt:
            nullable: true
    # Other mapping definitions ...