【问题标题】:Symfony migration empty with FOSUserBundle使用 FOSUserBundle 的 Symfony 迁移为空
【发布时间】:2018-10-06 12:43:57
【问题描述】:

我有一个 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 实体中是否存在导致问题的原因?

【问题讨论】:

  • 也许我在问一个愚蠢的问题,但您确定您的数据库中还没有user 表吗?如果是这样,不需要更新是正常的
  • 公平的问题,但我肯定有一个新的迁移。我认为问题可能是生成命令,也许它会生成一些空的东西。

标签: php symfony doctrine-orm fosuserbundle


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2013-06-27
    • 2016-05-28
    • 1970-01-01
    • 2018-09-29
    • 1970-01-01
    • 2014-07-11
    • 2018-05-30
    • 2014-03-01
    • 1970-01-01
    相关资源
    最近更新 更多