Question

Je suis sur mon chemin pour le développement d'une application de commerce électronique. Est-il possible d'écrire une application de lithium qui fonctionne sur les connexions différentes essentiellement MongoDB ou CouchDB et MySQL? Comment pouvons-nous et quels sont vos conseils sur la réalisation de ce?

Était-ce utile?

La solution

Je ne sais pas si je vous comprends bien.

Si vous voulez juste utiliser plus de connexions en même temps aux bases de données différentes, cela est facilement possible. Vous pouvez simplement définir plusieurs connexions à la fois (jetez un oeil au fichier d'amorçage par défaut connections.php et aussi à la documentation du lithium \ core \ classe environnement).

Si vous voulez exécuter votre application tout sur toute la base de données mentionnée ci-dessus, lisez ce qui suit ...

Il est difficile de répondre à cette question en général, mais voici quelques réflexions à ce sujet:

Comme vous le savez, au lithium vous fournit une couche d'abstraction de base de données qui expose des méthodes générales pour le processus CRUD. Comme cela est agréable au cours du développement (vous n'avez pas à apprendre de nouvelles interfaces pour chaque base de données), vous venez bientôt à un point où vous avez besoin de fonctionnalités spécifiques de la base de données.

Cela peut soulever des problèmes compatiblitiy entre les bases de données relationnelles, mais il est presque impossible pour le mélange des bases de données relationnelles et non relationnelles. Bien sûr, vous pouvez utiliser les côte à côte, mais fournissant des abstractions est vraiment difficile. Par exemple, comment voulez-vous interroger sur les documents imbriqués (comme vous le faites dans MongoDB) dans MySQL? Vous pouvez écrire un wrapper qui essaie d'imiter, mais vous ne devriez pas essayer.

Cela dit, si vous avez vraiment faire cela, vous pouvez le réaliser avec l'écriture de code d'emballage et laisser de fonctionnalités base de données de DÉPENDANT très spécifiques.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top