chi*_*org 8 php database symfony doctrine-orm
我正在将遗留PHP应用程序转换为Symfony 2.应用程序数据目前不是很一致,所以我想避免创建外键约束.我的"Product"实体类中有以下注释:
class Product {
// some definitions
/**
* @ORM\ManyToOne(targetEntity="Manufacturer")
* @ORM\JoinColumn(name="manufacturer_id", referencedColumnName="id" )
*/
private $Manufacturer;
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时app/console doctrine:schema:update
,我得到了SQL命令
ALTER TABLE products ADD CONSTRAINT FK_F6FA18741C3BF575
FOREIGN KEY (manufacturer_id) REFERENCES manufacturer(id);
Run Code Online (Sandbox Code Playgroud)
我怎么能避免这个?
Pie*_*eau 12
我最近必须经历相同的过程,幸运的是有一个简单的解决方案,只需添加nullable=true
到列的注释.
只要现有数据有效,这将有效,在我的情况下,我必须将0更改为NULL并将不再存在的键更改为NULL.
基本上你无法阻止生成sql命令.至少没有深入研究Doctrine代码.
但是,您不需要将约束实际应用于数据库.如果没有它们,D2将正常工作.