2017-08-16 75 views
0

我正在學習與sonata-admin-bundle一起使用Symfony 3,當我需要下載文件(圖像),安裝了Sonata MediaBundle時,達到了這一點,但是!到達地點,當你需要更新通過主義的數據庫:模式:更新,然後卡住...當我嘗試更新,我得到一個錯誤如何更新教條symfony 3數據庫中的表

與名稱表「symfony.articles」表已經存在。

可能是,無處不在,一切都建立在一對多等的關係一般,只有沒做谷歌搜索的一切 - 甚至依賴的所有精華刪除 - 所有我收到同樣的錯誤一樣。我知道某個地方有一個帶有內置鏈接的文件,但是如何克服這一切?當然,我可以殺死所有東西並首先創建所有東西,然後開始更新數據庫,但這不是一種選擇!畢竟,我會繼續連接樂隊,並再次出現相同的錯誤。提示,請做出決定。

回答

0

您的模型中有一個重複的映射(註釋/ xml/yaml)。我不記得引起這個問題的確切語法,但這絕對是一個起點。

使用php bin/console doctrine:schema:validate來幫助發現問題。

/** 
* Article 
* 
* @ORM\Table(name="article") 
* @ORM\Entity(repositoryClass="AppBundle\Repository\ArticleRepository") 
*/ 
class Article 
{ 

我只是能夠通過在我的教條實體中有一個重複的名稱定義來重現這一點。

table name already exists error

+0

我跑了'$ PHP斌/控制檯學說:架構:validate'命令,並得到了同樣的錯誤。是的,我已經有了這樣的表格,但我需要添加新的表格,這些表格必須由新實體組成。 – dmitry76

+0

看看你的學說實體在頂部,你有註釋(我假設你使用註釋)定義你的類。我敢打賭,你有兩個同樣的名字。 '* @ORM \ Table(name =「articles」,indexes = {...' – tlorens

+1

謝謝!我發現錯誤!在其他實體中找到名稱爲該表的註釋! – dmitry76