如何在Doctrine2中添加列描述(注释)

问题描述 投票:0回答:2

我想向 Doctrine2 实体定义的列添加列描述(也称为“注释”),但找不到任何有关如何使用

@Column annotation
执行此操作而不可能破坏 Doctrine 的信息架构工具。

如果我使用

columnDefinition
@Column annotation
属性,就像

@Column(type="string" columnDefinition="COMMENT 'This is a column comment'")

注释参考指出

如果您使用“columnDefinition”,SchemaTool 将不再正确检测列上的更改。

有没有一种方法可以在不破坏 SchemaTool 的情况下定义列描述?

我得到的唯一线索是这个拉取请求,其结尾是“这是通过不同的方式解决的。”。

symfony doctrine-orm
2个回答
103
投票

您可以使用注释的“options”参数向列名或整个表添加注释;例如:

/**
 * @ORM\Column(type="string", options={"comment":"The string to show in the dropdown "})
 */

对于列或表:

/**
 * @ORM\Entity
 * @ORM\Table(name="application", options={"comment":"Funding applications"});
 */

但请注意,这不会向现有表或列添加注释,您必须从数据库中删除该表并重建它。如果只是添加注释,您可以重命名表,创建新表,然后从原始表导入数据。

来源:学说文档


0
投票

Symfony 6,现在我就这样尝试了。

#[ORM\Column(length: 55, nullable: true, options:["comment"=>"在此处添加您的列注释"])]

© www.soinside.com 2019 - 2024. All rights reserved.