我在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;
}
重要的是,保溼這些機構中工作完全正常,但是模式的工具根本不會產生外鍵。
有沒有人碰到過這個?還有另一個SO post,但不幸的是它沒有得到答覆。
主義似乎不支持它。看到前面的主題:http://stackoverflow.com/questions/28234273/doctrine-not-generating-cross-database-foreign-key-constraints-in-mysql – Cr3aHal0
我設法解決它。見下文。 – Knifa