2016-11-20 53 views
1

我正在使用Symfony2與Doctrine和PostgreSQL作爲數據庫引擎的項目,我有問題。當我試圖改變實體後做app/console doctrine:schema:update --force我得到這個錯誤:主義Symfony2列已經存在

enter image description here

這是我的實體類代碼:

use Doctrine\ORM\Mapping as ORM; 

/** 
* LostConversation 
* 
* @ORM\Table(name="lost_conversation") 
* @ORM\Entity(repositoryClass="AppBundle\Repository\LostConversationRepository") 
*/ 
class LostConversation 
{ 

    const MAXSREENSHOTS = 50; 
    const SCREENSHOT_TIMEOUT = 10; 
    const MESSAGE_TIMEOUT = 30; 
    /** 
    * @var int 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @var int 
    * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Room", cascade={"all"}) 
    * @ORM\JoinColumn(name="room_id", referencedColumnName="id", nullable=false) 
    */ 

    private $room; 

    /** 
     * @var string 
     * @ORM\Column(name="file_name ", type="string",length=40, nullable=true) 
     */ 

    private $fileName; 


    /** 
     * @var string 
     * @ORM\Column(name="message ", type="string",length=140, nullable=true) 
     */ 
    private $message; 

    /** 
    * @var int 
    * @ORM\ManyToOne(targetEntity="UserBundle\Entity\User", cascade={"all"}) 
    * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false) 
    */ 

    private $user; 

    /** 
    * @var int 
    * @ORM\Column(name="insd", type="integer") 
    */ 

    private $insd; 

感謝每一個答案! :)

+0

檢查數據庫的實際狀態。可能你有兩列:新舊。 –

回答

2

你必須在$fileName領域的列名的額外空間:

/** 
* @ORM\Column(name="file_name ", type="string",length=40, nullable=true) 
           ^extra space here 

刪除它,它應該工作。

$message的註釋有同樣的問題。

+0

是的,它的工作表示感謝,沒有看到:) – Syeth