带有phone_number类型

时间:2017-08-02 10:30:28

标签: php symfony doctrine-orm doctrine

我对教义phone_number类型有一种非常奇怪的行为。这是我的Provider类:

class Provider {
    /**
     * @var PhoneNumber
     *
     * @ORM\Column(name="phone", type="phone_number", nullable=true)
     * @Serializer\Expose()
     */
    private $phone;
}

非常简单。然后我进行了迁移:

$this->addSql('CREATE SEQUENCE provider_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
        $this->addSql('CREATE TABLE provider (id INT NOT NULL, name VARCHAR(255) NOT NULL, description TEXT DEFAULT NULL, phone VARCHAR(35) DEFAULT NULL, email VARCHAR(255) DEFAULT NULL, image_name VARCHAR(255) DEFAULT NULL, image_updated_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');

但在那之后,当我运行php bin/console doctrine:schema:update --dump-sql时,我会继续抛弃这些行:

ALTER TABLE provider ALTER phone TYPE VARCHAR(35);
ALTER TABLE provider ALTER phone DROP DEFAULT;
ALTER TABLE provider ALTER phone TYPE VARCHAR(35);

即使我做schema:update,我也会在下一次运行时使用它们。我考虑回去注释一个字符串(35)并使用它,但是我的User实体使用相同的注释完美地工作,有点奇怪。

以前有人遇到这种情况吗?

0 个答案:

没有答案