Php 强制条令数据类型选择,从tinytext到varchar
我已经用固定长度的短文本属性描述了我的实体。当我使用命令Php 强制条令数据类型选择,从tinytext到varchar,php,mysql,symfony,doctrine-orm,Php,Mysql,Symfony,Doctrine Orm,我已经用固定长度的短文本属性描述了我的实体。当我使用命令make:migration时,它会生成一个数据类型为TINYTEXT的SQL代码。在我的例子中,使用VARCHAR更准确,因为我的属性具有较短的固定长度 我搜索过,但没有找到令人满意的解决方案 我想向条令表明,在本文本中使用VARCHAR。可能吗?怎么做 如果我不能:我在生成的php迁移代码中看到了这一点,它建议我在生成的SQL上进行编辑。我可以在这里将TINYTEXT更改为VARCHAR?在未来的修改中,条令会考虑到这一点吗 <?
make:migration
时,它会生成一个数据类型为TINYTEXT
的SQL代码。在我的例子中,使用VARCHAR
更准确,因为我的属性具有较短的固定长度
我搜索过,但没有找到令人满意的解决方案
我想向条令表明,在本文本中使用VARCHAR。可能吗?怎么做
如果我不能:我在生成的php迁移代码中看到了这一点,它建议我在生成的SQL上进行编辑。我可以在这里将TINYTEXT
更改为VARCHAR
?在未来的修改中,条令会考虑到这一点吗
<?php
...
/**
* @ORM\Entity(repositoryClass=UserRepository::class)
*/
class User
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="text", length=64, unique = true)
*/
private $mail;
/**
* @ORM\Column(type="text", length=64)
*/
private $hash;
/**
* @ORM\Column(type="text", length=32)
*/
private $salt;
...
}
条令将type=“text”,length=64
映射到mysql的TINYTEXT
您正在寻找字符串类型
/**
* @ORM\Column(type="string", length=64, unique=true)
*/
private $mail;
这将映射到VARCHAR(64)
有关更多参考,请参阅
/**
* @ORM\Column(type="string", length=64, unique=true)
*/
private $mail;