我正在尝试使用 FOS_UserBundle 来管理我的用户,但每次我尝试更新数据库时
php app/console doctrine:schema:update --force
我收到以下错误:
字段或鉴别器列映射中实体上列“用户名”的重复定义。 fos 用户包
当我注释掉用户名时,“电子邮件”也会发生这种情况。
我的用户类实际上非常基础:
namespace My\MyBundle\Entity;
use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length="100")
*/
protected $username;
/**
* @ORM\Column(type="string", length="100")
*/
protected $name;
/**
* @ORM\Column(type="string", length="100")
*/
protected $firstname;
/**
* @ORM\Column(type="string", length="150")
*/
protected $email;
}
我错过了什么吗?
最佳答案
您的 My\MyBundle\Entity\User
扩展 FOS\UserBundle\Entity\User
,依次扩展 FOS\UserBundle\Model\User
,它已经有一个 $username
field 。它还有一个 $email
field 。所以你只需要删除 $username
和 $email
来自您类(class)的字段。
关于Symfony2 : FOS_Userbundle Duplicate definition when updating db schema?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8080742/