doctrine:schema:update,name with name已经存在

时间:2017-02-22 13:59:16

标签: php symfony doctrine-orm doctrine

在我的实体类中我添加了一些新属性,我想更新数据库的模式。因此,当我运行php app / console doctrine:schema:update --force im每次都会出现此错误

[Doctrine\DBAL\Schema\SchemaException]

The table with name 'postgres.day' already exists.

我的数据库不会更新。那么有谁知道如何解决这个问题?

我已经阅读了有关该问题的其他问题但它并没有帮助我。所以任何人都可以向我解释发生了什么,或者如何解决这个问题?感谢。

<?php

namespace DashboardBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * RadniNalog
 *
 * @ORM\Table()
 * @ORM\Entity
 */
class RadniNalog
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="time_from", type="string", length=255)
     */
     private $time_from;

    /**
     * @var string
     *
     * @ORM\Column(name="time_to", type="string", length=255)
     */
     private $time_to;

    /**
     * @var string
     *
     * @ORM\Column(name="full_date_time", type="string", length=255)
     */
     private $full_date_time;

}

2 个答案:

答案 0 :(得分:0)

如果要使用已安装的软件包已使用的表名,则可能会导致出现此错误消息。

在您的情况下,冲突的表名是:day。

答案 1 :(得分:-1)

@ORM\Table您的注释中未提供任何名称,这是必需的。请参阅:Doctrine ORM | 21. Annotations Reference

@ORM\Table(name="radniNalog")

如果您想要Doctrine的默认行为或使用所需选项正确添加注释,请不要添加注释。