Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Mistura de MySQL e Mongodb em um aplicativo


Bulat implementamos uma extensão Doctrine enquanto estávamos no OpenSky para lidar com referências entre documentos do MongoDB e registros do MySQL, que está atualmente em seu (reconhecidamente desatualizado) bifurcação das DoctrineExtensions projeto. Você vai querer ver o orm2odm_references ou openskyfork galhos. Para que isso seja utilizável em seu projeto, você provavelmente desejará transferi-lo para um novo fork de DoctrineExtensions ou simplesmente incorporar o código em seu aplicativo. Infelizmente, não há documentação além do próprio código.

Felizmente, há também artigo do livro de receitas no site do Doctrine que descreve como implementar isso do zero. Basicamente, você conta com um ouvinte de eventos para substituir sua propriedade por uma referência (ou seja, objeto Proxy não inicializado) do outro gerenciador de objetos e o comportamento natural dos objetos Proxy para carregar-se lentamente cuida do resto. Desde que o ouvinte de eventos seja um serviço, você pode facilmente injetar os gerenciadores de objetos ORM e ODM nele.

A única integridade garantida por este modelo é que você receberá exceções ao tentar hidratar uma referência incorreta, o que provavelmente é mais do que você obteria simplesmente armazenando um ID do outro banco de dados e consultando manualmente.