sql >> Base de Datos >  >> RDS >> Mysql

Mezcla de MySQL y Mongodb en una aplicación

Bulat implementó una extensión de Doctrine mientras estábamos en OpenSky para manejar referencias entre documentos MongoDB y registros MySQL, que actualmente se encuentra en su (ciertamente desactualizado) bifurcación de las DoctrineExtensions proyecto. Querrá consultar las orm2odm_references o openskyfork sucursales. Para que esto se pueda usar en tu proyecto, probablemente querrás portarlo a una bifurcación nueva de DoctrineExtensions, o simplemente incorporar el código en tu aplicación. Desafortunadamente, no hay documentación aparte del código en sí.

Afortunadamente, también hay artículo de libro de cocina en el sitio web de Doctrine que describe cómo implementar esto desde cero. Básicamente, confía en un detector de eventos para reemplazar su propiedad con una referencia (es decir, un objeto Proxy no inicializado) del otro administrador de objetos y el comportamiento natural de los objetos Proxy para cargarse perezosamente se encarga del resto. Siempre que el detector de eventos sea un servicio, puede inyectar fácilmente los administradores de objetos ORM y ODM en él.

La única integridad garantizada por este modelo es que recibirá excepciones cuando intente hidratar una referencia incorrecta, lo que probablemente sea más de lo que obtendría simplemente almacenando una ID de la otra base de datos y consultando manualmente.