2017-08-16 74 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