强制键入Doctrine2 @JoinColumn注释而不使用ColumnDefinition

时间:2013-10-16 15:29:59

标签: symfony join orm types doctrine

我有一个遗留数据库,必须完全按照数据类型,列名和大小等方式进行维护。使用额外的列注释,关系将变得无用。使用columnDefinition,如下所示:

@ORM\JoinColumn(name="user_contact", referencedColumnName="contact_id", nullable=false, columnDefinition="int(11) DEFAULT '0'")

更改脚本始终运行,因此它不是一个好的解决方案。有没有办法指定JoinColumn的类型,长度(大小)和默认值?

1 个答案:

答案 0 :(得分:-2)

JoinColumn 注释用于在不创建新列的实体之间创建关系的过程中。来自docs

  

此注释用于@ManyToOne中的关系上下文,   @OneToOne字段和@JoinTable的上下文嵌套在一个   @ManyToMany。


使用注释创建新列。看看这个:

/**
 * @var integer
 *
 * @ORM\Column(name="user_contact", type="integer", options={"default":0})
 */
private $userContact;