【发布时间】:2020-08-24 12:48:09
【问题描述】:
代码
房间桌子的实体。
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 活动后;
我得到了什么(输出)
ALTER TABLE room ADD is_associable TINYINT(1) DEFAULT '0' NOT NULL;
【问题讨论】:
-
Doctrine 不支持这一点,因为“...Doctrine 被构建为尽可能与数据存储无关。从数据的角度来看,放置新列并不重要是否处于特定位置,......”
-
@JasonStephenson 除了迁移之外还有什么替代方法吗?
-
我不知道,除非你在教义之外手动操作,抱歉
-
我想我应该通过迁移来做到这一点:P,谢谢@JasonStephenson
-
如果您是生产数据库,则必须手动执行。唯一的另一种方法是在文件中订购您的属性,删除表,更新架构
标签: php sql symfony doctrine-orm