Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 强制条令数据类型选择,从tinytext到varchar_Php_Mysql_Symfony_Doctrine Orm - Fatal编程技术网

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;