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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改实体中的数据库列类型相关的知识,希望对你有一定的参考价值。

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

也许我是愚蠢但我试图寻找无济于事

这是我的实体的一部分:

namespace AppEntity;

use DoctrineORMMapping as ORM;
use SymfonyBridgeDoctrineValidatorConstraintsUniqueEntity;

/**
 * @ORMEntity(repositoryClass="AppRepositoryRideRepository")
 * @UniqueEntity(fields={"strava_ride_id"}, message="There is already a ride with this ID", ignoreNull=true)
 */

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

我想将其更改为:

    /**
     * @ORMColumn(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 

谢谢

马丁

答案

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

以上是关于如何更改实体中的数据库列类型的主要内容,如果未能解决你的问题,请参考以下文章

你如何更改rails中的列数据类型?

即时更改数据库列类型

如何在测试 laravel 中更改迁移中的枚举类型列

如何更改 Doctrine2 CTI 继承中的实体类型

SQL如何更改表中的列名称?

C#:更改实体框架的检索数据类型