在现有数据库上添加doctrine orm而不定义所有关联

时间:2017-08-08 06:06:35

标签: symfony doctrine

我正在开发一个php项目,该项目使用了一些symfony组件,例如序列化程序和路由器,但没有SF框架。所有类都是手工制作的,并且没有使用名称空间,项目正在使用适当的类自动加载器。

我的第一个任务是在该项目上安装和配置SF3,以便"同质化"发展。

为此,我已将所有项目包含在 FirstBundle 中,并已识别/隔离了类,而不是实体或存储库或管理器或服务等...我也定义了所有名称空间和doctrine DBAL组件取代了经典的单例php类:) 现在,所有这些都可以在Symfony基础安装上正常工作。

与此同时,我开发了一个 SecondBundle ,在项目中添加了新的功能,当然这个更友好,但两个捆绑都与mysql上的外键相关联。

现在,我想找到一种方法来连接" ORM学说,无需转换"所有项目实体(通过设置orm定义)。 一步一步的方法可能很不错。

我通过在SecondBundle上添加所有doctrine orm注释来做一些测试,但是我的问题是现有的mysql关联迫使我在FirstBundle上添加doctrine注释,如果我想保留数据完整性的话! (多对多,一对一,多对一......)

是否有办法避免orm管理某些关联并让mysql在第一步中管理它们?我谈到两个捆绑的关联:)

谢谢!

纪尧姆

1 个答案:

答案 0 :(得分:1)

据我所知,你有一些用纯PHP编写的遗留代码。并且您想将其迁移到SF

我认为一个好的开始是尝试使用此命令在SF中创建实体(带有关联),并尝试使用此

console doctrine:mapping:import 

https://symfony.com/doc/current/doctrine/reverse_engineering.html