Symfony的错误迁移文件

问题描述 投票:0回答:1

Symfony刚发生在我身上有些奇怪。我要添加与现有Article实体具有ManyToOne关系的Picture实体。向导给了我那些修改过的实体:

#App/Entity/Picture.php


 /**
 * @ORM\Entity(repositoryClass="App\Repository\PictureRepository")
 */
class Picture
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $adress;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\article", inversedBy="pictures")
     */
    private $article;

#App/Entity/Article.php
/**
 * @ORM\Entity(repositoryClass="App\Repository\ArticleRepository")
 */
class Article
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $Title;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $Text;

    /**
     * @ORM\ManyToMany(targetEntity="App\Entity\Category", mappedBy="Article")
     */
    private $categories;

    /**
     * @ORM\OneToMany(targetEntity="App\Entity\Picture", mappedBy="article")
     */
    private $pictures;

这些对我来说似乎很好,但进行迁移时,不会在图片表中创建“ article_id”字段。这是生成的迁移代码:

 $this->addSql('CREATE TABLE picture (id INT AUTO_INCREMENT NOT NULL, adress VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');

很显然,没有存储任何关系,因此我无法在代码中使用此关系。

我想念什么吗?感谢您的帮助!

symfony doctrine
1个回答
0
投票

Alleluiah!找到了这个。

似乎我刚才打错了字,Symfony缓存甚至在纠正时也保留了它。

只需要:

php bin/console doctrine:cache:clear-result
php bin/console doctrine:cache:clear-query
php bin/console doctrine:cache:clear-metadata

然后进行新的迁移,一切顺利。

© www.soinside.com 2019 - 2024. All rights reserved.