我正在尝试使用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/

10-16 22:40