gpt4 book ai didi

php - 使用 docrine 模式在 symfony 中的另一列之后添加新列

转载 作者:行者123 更新时间:2023-12-05 07:09:08 25 4
gpt4 key购买 nike

代码

房间表的实体。

use Doctrine\ORM\Mapping as ORM;

class Room
{
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;

/**
* @var string
*
* @ORM\Column(type="string")
*/
private $name;

/**
* @var int
*
* @ORM\Column(type="integer")
*/
private $groupOrder;

/**
* @var boolean
*
* @ORM\Column(type="boolean", options={"after": "active","default": false})
*/
private $isAssociable;

/**
* @var bool
*
* @ORM\Column(type="boolean", options={"default" : 1})
*/
private $active = true;

/**
* @var \DateTime
*
* @ORM\Column(type="datetime")
*/
private $createdAt;

/**
* @var \DateTime
*
* @ORM\Column(type="datetime")
*/
private $updatedAt;
}

我在控制台上运行以下命令,但输出与预期不同

php bin/console doctrine:schema:update --dump-sql

预期输出

ALTER TABLE room ADD is_associable TINYINT(1) DEFAULT '0' NOT NULL AFTER active;

我得到了什么(输出)

ALTER TABLE room ADD is_associable TINYINT(1) DEFAULT '0' NOT NULL;

最佳答案

在 Doctrine 中,您似乎天生就无法做到这一点。可能处理的列的选项参数不可用。无论如何,也许你可以通过(当然所有的想法都是一种解决方法)实现这一点:

  • 为字段创建自定义“位置”注释,当然你需要编写自定义命令,它将运行 doctrine:schema:update --dump-sql 并修改 sql 输出(它是只是我的想法)。

  • 通过使用迁移来实现这一点,您将在其中放置原始 sql

  • 在 github 上创建 PR 或 Doctrine ORM 项目 here .

关于php - 使用 docrine 模式在 symfony 中的另一列之后添加新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61688016/

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