如何在实体中更改数据库列类型

时间:2019-02-15 17:30:11

标签: symfony

我想将列的类型从int更改为string。我在实体文件中更改了它,但是当我发出make:migration后跟doctrine:migrations:migrate时,它不起作用。如何从实体更新dB字段类型?

也许我很愚蠢,但我尝试搜索无济于事

这是我实体的一部分:

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;

/**
 * @ORM\Entity(repositoryClass="App\Repository\RideRepository")
 * @UniqueEntity(fields={"strava_ride_id"}, message="There is already a ride with this ID", ignoreNull=true)
 */

class Ride
{
    /**
     * @ORM\Column(type="integer", nullable=true)
     */
     private $strava_ride_id;

我想将其更改为:

    /**
     * @ORM\Column(type="string", length=20, nullable=true)
     */
     private $strava_ride_id;

但是当我跑步时什么也没发生:

php bin/console doctrine:migrations:diff

 php bin/console make:migration  

我尝试使用以下方法清除缓存:

 php bin/console doctrine:cache:clear-metadata 

谢谢

马丁

1 个答案:

答案 0 :(得分:1)

要成功运行迁移,您应该首先生成它。为此,请运行doctrine:migrations:diff,然后运行doctrine:migrations:migrate