Symfony 2.3 / FOS用户捆绑包列的重复定义

时间:2013-11-15 15:55:04

标签: php symfony doctrine-orm fosuserbundle

我们将FOSUserBundle与Doctrine一起使用,需要更改映射。以下方法在Symfony 2.1.x中运行良好:

  1. 我们的用户实体扩展了FOS \ UserBundle \ Model \ User
  2. 我们的mapping.orm.yml映射了捆绑包使用的所有字段
  3. 这仍然是推荐的方法(https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/doctrine.md

    升级到Symfony 2.3后,这不再有效:更新“doctrine:schema:update --force”会产生类型错误

    列“x”的重复定义

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

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

1 个答案:

答案 0 :(得分:0)

不是100%确定这是否与您所谈论的内容相关,但听起来您需要使用attribute overrides

例如,如果您想使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 ...