mysql - 如何在 ORM Symfony 4 中将列的数据类型从 STRING 更改为 TEXT?
问题描述
我通过实体的注释定义了我的表信息。所以我想将以下列更改为 TEXT 而不是 STRING。所以我有这个:
/**
* @ORM\Column(type="string", length=255)
*/
private $category;
我把它改成这样:
/**
* @ORM\Column(type="text")
*/
private $category;
我希望它成为一个 TEXT,所以迁移后我检查了我的数据库,它说它是一个 LONGTEXT。我不知道这怎么可能,但在参考我的迁移之前,我想知道如何将其设为 TEXT 而不是 LONGTEXT。
编辑:我正在查看迁移文件,我看到了这个:
$this->addSql('ALTER TABLE cabinet CHANGE category category LONGTEXT NOT NULL');
我从来没有输入过 LONGTEXT,所以我不知道 Doctrine 是从哪里得到的。
解决方案
答案似乎也是给出 TEXT 的长度(我认为它被定义为一个固定值),所以@ORM\Column(type="text")
你应该做@ORM\Column(type="text", length=65535)
. 由于this other SO question,我能够找到这个答案。
推荐阅读
- regex - 正则表达式替换 Jenkinsfile (声明性)中的模式,该模式中有一个 `&`
- c# - 找不到 testhost.dll。请发布您的测试项目并重试
- c# - C# WPF Caliburn Micro 通过 DisplayRootViewFor 抛出 System.Reflection.AmbiguousMatchException
- c - Windows C 编程 ReadFile CHAR 或 WCHAR
- javascript - 当 heatMap boxOnClick 时从 dataTable 中过滤掉带有 0 的行
- javascript - 获取捕获错误的属性列表
- c# - 无法从 Linq.JToken 转换为模型
- imagej - 如何在 ImageJ 结果表中选择行?
- python - 我正在尝试计算字典中的平均分数,但相反,它将每个学生的平均值返回为零
- azerothcore - 行走NPC的文字存放在哪里?