使用FOSUserBundle的Symfony迁移为空

时间:2018-10-06 12:43:57

标签: php symfony doctrine-orm fosuserbundle

我有一个Symfony 4应用程序,该应用程序使用Symfony \ Component \ Security \ Core \ User \ UserInterface来实现用于定义User.php实体的类。

我现在安装并配置了FOSUserBundle,并更改了我的实体类以扩展BaseUser类。

<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use FOS\UserBundle\Model\User as BaseUser;

/**
 * @ORM\Entity
 * @ORM\Table(name="`user`")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=180, unique=true)
     */
    public function getId()
    {
        return $this->id;
    }
}

但是现在,当我运行php bin/console doctrine:migrations:genrate然后运行doctrine:migrations:migrate时,我得到:

“已执行迁移,但未生成任何SQL语句。”

我的配置(在framework.yaml中)是:

fos_user:
    db_driver: orm
    firewall_name: main
    user_class: App\Entity\User
    service:
        mailer: fos_user.mailer.twig_swift
    from_email:
        address: "hello@example.com"
        sender_name: "JW-App Mailer"

迁移版本正在保存到数据库,而不是用户实体。我的User.php实体中是否有引起该问题的东西?

1 个答案:

答案 0 :(得分:0)

我能够使用bin/console doctrine:migrations:diff,然后使用bin/console doctrine:schema:update --force来更新架构。