sql >> Database teknologi >  >> RDS >> Mysql

Blanding af MySQL og Mongodb i en applikation

Bulat implementerede en Doctrine-udvidelse, mens vi var hos OpenSky til håndtering af referencer mellem MongoDB-dokumenter og MySQL-poster, som i øjeblikket sidder i deres (ganske vist forældede) gaffel af DoctrineExtensions projekt. Du vil enten se på orm2odm_references eller openskyfork grene. For at dette kan bruges i dit projekt, vil du sandsynligvis overføre det til en ny forgrening af DoctrineExtensions eller blot inkorporere koden i din applikation. Desværre er der ingen dokumentation udover selve koden.

Heldigvis er der også kogebogsartikel på Doctrines hjemmeside, der beskriver, hvordan man implementerer dette fra bunden. Dybest set stoler du på, at en begivenhedslytter erstatter din ejendom med en reference (dvs. ikke-initialiseret proxy-objekt) fra den anden objektmanager, og den naturlige adfærd af proxy-objekter til dovent indlæsning af sig selv sørger for resten. Forudsat at begivenhedslytteren er en tjeneste, kan du nemt injicere både ORM- og ODM-objektmanagere i den.

Den eneste integritet, der garanteres af denne model, er, at du vil modtage undtagelser, når du forsøger at hydrere en dårlig reference, hvilket sandsynligvis er mere, end du ville få ved blot at gemme et ID for den anden database og forespørge manuelt.



  1. Tjek om der findes en række ved hjælp af det gamle mysql_* API

  2. json-kolonne kontra flere kolonner

  3. MySQL AS søgeord

  4. heroku, postgreSQL, django, comments, tastypie:Ingen operator matcher det givne navn og argumenttype(r). Du skal muligvis tilføje eksplicitte casts