2016-03-07 69 views
1

我试图运行架构创建工具与教条。我的db是postgresql。我目前得到的错误:学说2与nam表不存在

[Doctrine\DBAL\Schema\SchemaException]    
    The table with name 'tracon.users' already exists. 

错误只有当我尝试使用一个以上的实体运行情况:

php vendor/bin/doctrine orm:schema-tool:update 

php vendor/bin/doctrine orm:schema-tool:create 

为例。如果我用户实体文件夹中唯一的实体,它的工作原理!

<?php 
namespace entities; 

use Doctrine\ORM\Mapping; 
use Doctrine\ORM\Mapping\Table; 

// entities/Users.php 

/** 
* @Entity 
* @Table(name="users") 
* @Table(schema="development") 
**/ 
class Users { 
    /** 
    * @var integer 
    * 
    * @Id 
    * @Column(name="id", type="integer") 
    * @GeneratedValue(strategy="AUTO") 
    */ 
    protected $id; 

    /** 
    * @var string 
    * @Column(type="string", length=64) 
    */ 
    protected $username; 

    /** 
    * @var string 
    * @Column(type="string", length=64) 
    */ 
    protected $first_name; 

    /** 
    * @var string 
    * @Column(type="string", length=64) 
    */ 
    protected $last_name; 

    /** 
    * @var string 
    * @Column(type="string", length=255) 
    */ 
    protected $email; 

} 

但只要我添加其他实体类像下面的“媒体”之一,它抱怨表已经存在:

<?php 
namespace entities; 

use Doctrine\ORM\Mapping; 

// entities/Media.php 

/** 
* @Entity 
* @Table(name="development.media") 
**/ 
class Media { 
    /** 
    * @var integer 
    * 
    * @Id 
    * @Column(name="id", type="integer") 
    * @GeneratedValue(strategy="AUTO") 
    * 
    */ 
    protected $id; 

    /** 
    * @var string 
    * @Column(type="string", length=64) 
    */ 
    protected $file_name; 

    /** 
    * @var string 
    * @Column(type="string", length=64) 
    */ 
    protected $file_url; 

    /** 
    * @var string 
    * @Column(type="string", length=64) 
    */ 
    protected $file_extension; 


} 

什么导致这个错误?此外,它似乎架构不注册。

+0

由于错误提到它,你确定该表不存在吗? '名为'tracon.users'的桌子已经存在了。' –

+0

积极的,我甚至放弃了数据库,仍然得到这个错误。 –

+0

@Table(name =“'users'”)测试更改@Table(name =“users”)'' – yceruto

回答

1

Cache!用这个命令清除缓存解决了这个问题:

php vendor/bin/doctrine orm:clear-cache:metadata 
+0

即使这样做,我仍然有这个问题,有什么想法? –