gpt4 book ai didi

php - 更新模式以在 symfony 的 MySQL 数据库上创建长文本字段

转载 作者:可可西里 更新时间:2023-11-01 07:02:36 25 4
gpt4 key购买 nike

我想使用 Doctrine 模式将 MySQL 字段从文本更新为长文本。

现在我的代码是这样的:

/**
*@var string
*@ORM\Column(name="head_fa", type="string", length=1000, nullable=true)
*/
private $head_fa;

/**
*@var string
*@ORM\Column(name="head_en", type="string", length=1000, nullable=true)
*/
private $head_en;

/**
*@var string
*@ORM\Column(name="body_fa", type="text", length=1000, nullable=true)
*/
private $body_fa;

/**
*@var string
*@ORM\Column(name="body_en", type="text", length=1000, nullable=true)
*/
private $body_en;

问题是当我将此字段更改为此代码时

/**
*@var string
*@ORM\Column(name="head_fa", type="string", length=1000, nullable=true)
*/
private $head_fa;

/**
*@var string
*@ORM\Column(name="head_en", type="string", length=1000, nullable=true)
*/
private $head_en;

/**
*@var string
*@ORM\Column(name="body_fa", type="text", nullable=true)
*/
private $body_fa;

/**
*@var string
*@ORM\Column(name="body_en", type="text", nullable=true)
*/
private $body_en;

并在控制台上运行“php app/console doctrine:schema:update --force”命令,它说“无需更新 - 您的数据库已经与当前实体元数据同步。”如何在mysql数据库上把这个字段改成longtext。

我在项目的不同部分做同样的事情。这是代码

/**
* @ORM\Column(name="body", type="text", nullable=true)
*/
protected $body;

在终端上执行“php app/console doctrine:schema:update --force”命令后,该字段在 MySQL 数据库上更改为 longtext。

最佳答案

我遇到了同样的问题。引用此页面后,我找到了解决方案: http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html

指定文本字段的长度将在 MySQL 中创建正确的类型。例如:长度=65535

参见此处:http://doctrine-dbal.readthedocs.org/en/latest/reference/types.html#id100

256 到 65535 之间的长度,用于在数据库中使用“文本”字段。

关于php - 更新模式以在 symfony 的 MySQL 数据库上创建长文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22936756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com