2012-03-15 7 views
0

私はこれに類似したアイデアに関してここにいくつかの記事を見ましたが、具体的には私の要求を正確に指摘しなければならないと思っていました。データベーステーブル間で特定のデータを複製する

私はデータベース駆動型のサイトを持っており、クライアントは米国のユーザーのためのレプリカを必要としています。彼らは、サイトのほとんどが同じであることを望んでいますが、いくつかのデータは米国の訪問者にとって違うものにしたいと考えています。

このサイトは、私が書いたPHP/MySQLデータベースコンテンツ管理システム上で動作します。私たちは、このような「USA」バージョンにアプローチしようとしていると思う...

置き/私たち(そこには驚き)と呼ばれるフォルダ内のサイト全体のクローンを

すべてのテーブルを複製しますが、先行します私たちの名前は

私は、元のサイトのテーブルに 'replicate'と呼ばれるフィールドを追加し、15分ごとに、元のテーブルからすべてのレコードをコピーするスクリプトを実行すると思いますレプリケートフィールドがマークされているus_テーブルyes

米国版のコンテンツ管理システムでは、英国のサイトからコピーされたものは何らかの理由でロックされているため、元のサイトのnoとマークされたレコードのみが英国のサイトで異なる場合があります。

私は正しい行に向かっているように聞こえますか?

+1

すべてのコードとすべてのテーブルを複製すると、サイトを維持することは悪夢になります。同じデータベースにテーブルを保持しないでください(いくつかはuk_とus_と他のものは両方共通です)。そして、私たちの違いに対処するコードを少しリファクタリングするのはなぜですか? – jptsetung

答えて

0

米国の訪問者のみのためのテーブル/行のみを新しいデータベースにすることはどうでしょうか。

どのデータベースからどのテーブルを呼び出すべきかを示すphp配列などを作成します。

私にはそれほど労力がかかりません。

+0

また、レプリケーションを全く必要としないようなビューですらあります。 – hakre

0

レプリケーションに関するトピックについては、MySQLマニュアルをチェックしましたか?

関連する問題