我正在使用postgres數據庫和FOSUserBundle一起使用原則。出於某種原因,每次我嘗試運行doctrine:schema:update
時,它都會嘗試創建用戶表,儘管它已經存在。主義不斷嘗試重新創建現有的表
我不得不將模式設置爲用戶表以在實體中公開,因爲FOS會在其他模式中發生錯誤。然而,從實體中刪除此註釋將會阻止它嘗試重新創建表。
實體的定義如下:
<?php
namespace AppBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="user", schema="public")
* @ORM\Entity(repositoryClass="AppBundle\Repository\UserRepository")
*/
class User extends BaseUser {
...
}
和學說一直試圖與schema="public"
集的實體來執行查詢是:
CREATE SEQUENCE public.user_id_seq INCREMENT BY 1 MINVALUE 1 START 1;
CREATE TABLE public."user" (id INT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled BOOLEAN NOT NULL, salt VARCHAR(255) DEFAULT NULL, password VARCHAR(255) NOT NULL, last_login TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL, password_requested_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, roles TEXT NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, PRIMARY KEY(id));
CREATE UNIQUE INDEX UNIQ_327C5DE792FC23A8 ON public."user" (username_canonical);
CREATE UNIQUE INDEX UNIQ_327C5DE7A0D96FBF ON public."user" (email_canonical);
CREATE UNIQUE INDEX UNIQ_327C5DE7C05FB297 ON public."user" (confirmation_token);
如果我的schema="public"
標籤添加到任何我的其他實體,他們表現出相同的行爲,但沒有它,他們工作得很好。只是,確實與FOSUserBundle以下消息試圖創建例如用戶在不工作的用戶實體:
SQLSTATE[42703]: Undefined column: 7 ERROR: column t0.username does not exist
LINE 1: SELECT t0.username AS username_1, t0.username_canonical AS u...