我正在尝试使用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
字段。它还有一个$email
字段。因此,您只需要从类中删除$username
和$email
字段即可。
关于Symfony2 : FOS_Userbundle Duplicate definition when updating db schema?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8080742/