1つのアプリケーションでリチウム接続(MongoDB、CouchDB、およびMySQL)

StackOverflow https://stackoverflow.com/questions/7328555

質問

私はeコマースアプリの開発に向けて進んでいました。基本的にMongoDBまたはCouchDBおよびMySQLでさまざまな接続で動作するリチウムアプリケーションを作成することは可能ですか?どうすればそれを行うことができ、それを達成するためのあなたのヒントは何ですか?

役に立ちましたか?

解決

私があなたを正しく理解しているかどうかはわかりません。

別のデータベースに同時により多くの接続を使用するだけである場合、これは簡単に可能です。より多くの接続を一度に定義するだけです(デフォルトのconnections.phpブートストラップファイルを見て、リチウム core 環境クラスのドキュメントを見てください)。

上記のすべてのデータベースでアプリケーション全体を実行したい場合は、読んでください...

一般的にこの質問に答えるのは簡単ではありませんが、これについてのいくつかの考えがあります。

ご存知かもしれませんが、リチウムは、CRUDプロセスの一般的な方法を公開するデータベース抽象化レイヤーを提供します。これは開発中(すべてのデータベースの新しいインターフェイスを学習する必要はありません)の場合、すぐにデータベース固有の機能が必要になるポイントになります。

これにより、リレーショナルデータベース間の互換性の問題が発生する可能性がありますが、リレーショナルデータベースと非関連データベースを混合することはほとんど不可能です。もちろん、それらを並べて使用できますが、抽象化を提供することは本当に難しいです。たとえば、mysqlのネストされたドキュメント(mongodbで行うように)でどのように照会しますか?これをエミュレートしようとするラッパーを書くこともできますが、試してはいけません。

そうは言っても、本当にこれを行う必要がある場合は、ラッパーコードを作成することでそれを実現し、非常に具体的なデータベース依存機能を除外することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top