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

flu*_*flu 43 symfony doctrine-orm

我想在Doctrine2实体定义的列中添加一个列描述(也称为" 注释 "),但是在@Column annotation没有破坏Doctrine的SchemaTool 的情况下无法找到有关如何使用它的任何信息.

如果我使用类似的columnDefinition属性@Column annotation

@Column(type="string" columnDefinition="COMMENT 'This is a column comment'")
Run Code Online (Sandbox Code Playgroud)

注释中引用美国

如果使用"columnDefinition",SchemaTool将不再正确检测列的更改.

那么有没有办法在不破坏SchemaTool的情况下定义列描述?

我得到的唯一线索是这个拉动请求,结尾于" 这是以不同的方式解决的 ".

提前致谢.

Chr*_*sNY 77

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

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

对于列或表:

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

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

资料来源:学说文件

  • 请记住,您的注释将按原样添加到 SQL 语句中(不转义),因此,如果您在注释中使用撇号,请务必对它们进行转义。例如。`options={"comment"="在下拉列表中显示的字符串,默认值\'未选择\'"}` (2认同)
  • 关系如何?如何在关系的列中添加评论? (2认同)
  • @Victor查看[Doctrine文档中的这个例子](http://doctrine-orm.readthedocs.org/en/latest/reference/yaml-mapping.html#example),了解如何将`comments`添加到`yml mapping `文件. (2认同)