我在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帖子,但不幸的是没有答案.