Arrays 将规则数组类型从tinytext更改为longtext

Arrays 将规则数组类型从tinytext更改为longtext,arrays,symfony,doctrine,Arrays,Symfony,Doctrine,我对阵列类型有问题, 我有一个字段,其中包含数组形式下需要的各种数据,主要是字符串 /** * @var string * * @ORM\Column(name="data", type="array", length=250, nullable=false, * options={"comment" = "Data of notification."}) */ protected $data;

我对阵列类型有问题, 我有一个字段,其中包含数组形式下需要的各种数据,主要是字符串

 /**
 * @var string
 *
 * @ORM\Column(name="data", type="array", length=250, nullable=false,
 *      options={"comment" = "Data of notification."})
 */
protected $data;
但我注意到它存储在MySQL中的tinytext表单下,这是存储我想要的数据的一种简写方式 现在有人知道我如何强制doctrine从tinytext切换到longtext吗?

请检查此会话:

检查手册中的其他类型,如您所愿

数据库供应商对不同字符串的最大长度有不同的限制。如果超过最大允许长度,则条令会在内部将字符串类型映射到供应商的文本类型。当从数据库反向工程类型时,这可能导致类型不一致

这意味着如果要强制增大列的大小,则必须增大列的长度。

请检查此会话:

检查手册中的其他类型,如您所愿

数据库供应商对不同字符串的最大长度有不同的限制。如果超过最大允许长度,则条令会在内部将字符串类型映射到供应商的文本类型。当从数据库反向工程类型时,这可能导致类型不一致

这意味着,如果要强制增大列的大小,则必须增大列的长度。

增大长度

数组[1]数组MySQL所有TINYTEXT[17]文本[18] 中文本[19]长文本[20]

  • [17] (1,2,3,4,5)如果列长度小于或等于2^8-1=255,则选择此选项
  • [18] (1,2,3,4,5)如果列长度小于或等于2^16-1=65535,则选择此选项
  • [19] (1,2,3,4,5)如果列长度小于或等于2^24-1=16777215,则选择此选项
  • [20] 如果列长度小于或等于2^32-1=4294967295或为空,则选择(1、2、3、4、5)
资料来源: 增加长度

数组[1]数组MySQL所有TINYTEXT[17]文本[18] 中文本[19]长文本[20]

  • [17] (1,2,3,4,5)如果列长度小于或等于2^8-1=255,则选择此选项
  • [18] (1,2,3,4,5)如果列长度小于或等于2^16-1=65535,则选择此选项
  • [19] (1,2,3,4,5)如果列长度小于或等于2^24-1=16777215,则选择此选项
  • [20] 如果列长度小于或等于2^32-1=4294967295或为空,则选择(1、2、3、4、5)
资料来源:

如果希望字段映射到长文本列,请使用:

/**
 * @var string
 *
 * @ORM\Column(name="data", type="array", length=16777216, nullable=false,
 *      options={"comment" = "Data of notification."})
 */
protected $data;
i、 e.通过将长度设置为高于16777215的值,可以将字段映射到长文本


您还可以省略length参数(它通常用于提示使用小于LONGTEXT的字段类型)。例如,如果将长度设置为1000,则会得到一个文本字段,或者如果将数字设置为小于255,则会得到一个TINYTEXT字段(如您已经发现的)。

如果希望字段映射到一个长文本列,则使用:

/**
 * @var string
 *
 * @ORM\Column(name="data", type="array", length=16777216, nullable=false,
 *      options={"comment" = "Data of notification."})
 */
protected $data;
i、 e.通过将长度设置为高于16777215的值,可以将字段映射到长文本


您还可以省略length参数(它通常用于提示使用小于LONGTEXT的字段类型)。例如,如果将长度设置为1000,则会得到一个文本字段,或者如果将数字设置为小于255,则会得到一个TINYTEXT字段(如您已经发现的)。

您应该删除
length=250,
part您应该删除
length=250,
part