小编Kni*_*ifa的帖子

Doctrine不会生成跨数据库外键

我在Doctrine中设置了一些模型,其中一些模型位于不同的数据库中.Doctrine的模式生成工具似乎是生成数据库间外键,而不是跨数据库外键.

例如:

/**
 * @ORM\Entity
 * @ORM\Table(name="db1.Contact")
 **/
class Contact {
    /** 
     * @ORM\Id 
     * @ORM\Column(type="integer") 
     * @ORM\GeneratedValue 
     **/
    private $id;
}

/**
 * @ORM\Entity
 * @ORM\Table(name="db2.Subscription")
 **/
class Subscription {
    /** 
     * @ORM\Id 
     * @ORM\Column(type="integer") 
     * @ORM\GeneratedValue 
     **/
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity="Contact")
     * @ORM\JoinColumn(name="contact_id", referencedColumnName="id")
     */
    private $contact;
}
Run Code Online (Sandbox Code Playgroud)

重要的是,保湿这些实体的工作完全正常,但架构工具根本不会生成外键.

有没有人遇到过这个?还有另一个SO帖子,但不幸的是没有答案.

php mysql doctrine-orm

5
推荐指数
1
解决办法
1109
查看次数

标签 统计

doctrine-orm ×1

mysql ×1

php ×1