Frage

Ich war auf dem Weg zur Entwicklung einer E -Commerce -App. Ist es möglich, eine Lithiumanwendung zu schreiben, die auf verschiedenen Verbindungen im Grunde genommen MongoDB oder CouchDB und MySQL funktioniert? Wie können wir es tun und was sind Ihre Tipps, um es zu erreichen?

War es hilfreich?

Lösung

Ich bin mir nicht sicher, ob ich dich richtig verstehe.

Wenn Sie nur mehr Verbindungen gleichzeitig zu verschiedenen Datenbanken verwenden möchten, ist dies leicht möglich. Sie können einfach mehr Verbindungen gleichzeitig definieren (schauen Sie sich die Standardverbindungen.Php -Bootstrap -Datei und auch in der Dokumentation für die Lithium Core Umgebungsklasse an).

Wenn Sie Ihre gesamte Anwendung in allen oben genannten Datenbank ausführen möchten, lesen Sie ...

Es ist nicht einfach, diese Frage im Allgemeinen zu beantworten, aber hier sind einige Gedanken dazu:

Wie Sie vielleicht wissen, bietet Ihnen Lithium eine Datenbankabstraktionsschicht, die allgemeine Methoden für den CRUD -Prozess freilegt. Da dies während der Entwicklung ist (Sie müssen für jede Datenbank keine neuen Schnittstellen lernen), kommen Sie bald zu einem Punkt, an dem Sie datenbankspezifische Funktionen benötigen.

Dies kann die Probleme mit den kompatiblitiy Problemen zwischen relationalen Datenbanken aufwerfen, ist jedoch nahezu unmöglich, relationale und nicht-relationale Datenbanken zu mischen. Natürlich können Sie sie nebeneinander verwenden, aber es ist wirklich schwierig, Abstraktionen bereitzustellen. Wie würden Sie beispielsweise nach verschachtelten Dokumenten (wie Sie in MongoDB) in MySQL nachfragen? Sie könnten einen Wrapper schreiben, der versucht, dies zu emulieren, aber Sie sollten es nicht versuchen.

Wenn Sie dies wirklich tun müssen, können Sie es mit dem Schreiben von Wrapper-Code erreichen und sehr spezifische Datenbank-Abhängigkeitsfunktionen herauslassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top