2014-09-29 70 views
0

为了与另一个基于非Symfony的应用程序共享数据库,我想更改用户表的某些字段名称。Symfony UserBundle:覆盖数据库中的字段名称

自定义实体的定义是这样的:

<?php 
namespace Bcg\UserBundle\Entity; 

use FOS\UserBundle\Entity\User as BaseUser; 
use Doctrine\ORM\Mapping as ORM; 
use Gedmo\Mapping\Annotation as Gedmo; 

/** 
* @ORM\Entity 
* @ORM\Table(name="User") 
*/ 
class User extends BaseUser 
... 

我试图重写密码场像这样的名字:

/** 
* @ORM\Column(name="encrypted_password", type="string") 
*/ 
protected $password; 

但导致错误: MappingException:已经声明了“Bcg \ UserBundle \ Entity \ User”中的属性“password”,但它只能被声明一次

我错过了什么?

+0

重复的问题。这个问题有一个答案:http://stackoverflow.com/a/12147185/2106834 – Jonny 2015-06-26 12:49:21

回答

0

您是否使用$ php app/console doctrine:schema:update --force命令重新生成模式?

+0

我不想调整DB到应用程序,但应用程序到数据库,因此架构更新不能是解决方案。 – 2014-10-20 20:11:20

+0

这是一个比完整答案给出建议更多的评论。 – gunr2171 2014-10-20 20:36:15

0

最后我放弃了这一点,改为改用其他应用程序。

相关问题