こんにちは。
現在CakePHP上で、いくつかの小さいシステムと、その統合システムを作ろうと考えています。
大袈裟にはなりますが、イメージとしてはAWSのような大きな統合システムがまずあり、
API GatewayやEC2のような、統合するにはそれぞれが多機能すぎる小さなシステム群、といった趣です。
それぞれのシステムは20ほどのテーブルを持つことが想定されるため、
メンテナンスを考慮しても、それぞれのシステムでDBを分割したうえで、
重複した意味を持つようなテーブル(ユーザー情報等)をそれぞれに持たせたくはないと考えています。
そのため、このような共通テーブルを統合システム側に持たせ、
小さなシステム群とリレーションを張ろうと考えています。
単なるSQLであれば、WHERE DB_A.table_X.id = DB_B.table_Y.id
のような形で表記できるのですが、
私が使っているCakePHPではDBの切り替えはできても、DB同士でのリレーションは張れないようなのです。
この仕様のまま設計しようとすると、それぞれの小さいシステム上にある共通テーブル同士が
常に同期をとるようなスクリプトを別途用意して、変更があればほかのDBに反映、という手法を採るしかないのかな、と感じています。
そこで、異なるDBとリレーションを張る機能を標準でサポートしているWebフレームワークをご存知の方がいれば
ぜひそれをお教えいただければと思います。
言語は問いません。
MongoDBをサポートしているとなお嬉しいです。
また、CakePHPでも異なるDB同士でリレーションを張る方法があれば、それが一番
こんな方法もあるみたいですが、ちょっとスマートじゃないかなあと思ったもので....

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/19 02:48
2017/07/19 05:21