0

ある特定のフレームワークで書かれた既存の Web サイトがあり、この Web サイトの新しいバージョンの途中で、別のフレームワークで書かれています。

これは、テーブル構造がまったく異なることを意味します。古いデータを新しいデータに移行するコードを作成したので、メンバーとコンテンツは問題なく移行されます。ただし、古いサイトには x 人の人数、新しいサイトには y 人の人数が必要です。

このようにして、「ライブ」でフリックする前に、人々が新しいサイトを気に入っているかどうか、どのように使用しているかなどをテストできます。新しいサイトは別のサブドメインにあります。しかし、本当の問題は、どのようにしてデータベースを連携させるかということです。つまり、ユーザーが新しいサイトにいて、古いサイトに表示されるフォーラムに投稿した場合、またはその逆の場合です。

異なるフレームワークとテーブルであることは、非常に大きな仕事のように思えます。他のデータベースのデータの更新を処理するために、両方のシステムで各モデルのインターフェイスを作成する必要がある場合があります。ある開発者はトリガーを使い回したので、このテーブルのデータが変更されると、トリガーは他のテーブルのデータを更新します。

どちらも非常に長い道のりのようです。私はかなりの量のコード、メンバー、購入、注文、ブログ投稿、コメント、フォーラム トピック + コメント、さらに十数個の他のテーブル (+cms!) について話しています。

ps、解決には数か月ではなく数週間かかるはずです!

これをどうにかして実現する方法について、何か提案はありますか。

4

1 に答える 1

1

あなたが達成しようとしていることに対する簡単な解決策はないと思います。ある意味では、あなたがしているのはデータの複製であり、データベースの複製ではありません。データベースの複製であれば、データベース サーバーの複製を行うことができます。

システム内のモデルごとにインターフェースを作成することもできますが、新しいサイトのフォーラムに投稿された誰かが古いサイトを更新しているときに、別の誰かが古いサイトのフォーラムの更新を既に取得しているような状況にも対処する必要があります。あらゆる種類のキー フィールドの依存関係を使用すると、それらは古いサイトと新しいサイトなどで異なります。

あなたが私に尋ねると、それは長々とした解決策になるでしょう。上記の例により、インターフェイスを使用してデータを複製できる場合でも、依存関係と関係は両方のデータベースで異なるキー ID を持つ可能性があり、最終的にそれらをマージすることにした場合は、それを考慮する必要があります。良い..

私がそれを行うとしたら、長い道のりを歩んで、データベース全体でどのデータがいつ、どのように更新されているかを確認できる詳細な更新インターフェイスを作成します。書くのにもっと時間がかかるかもしれませんが、私はそれがより安全であり、めちゃくちゃになってしまうような多くの苦痛と時間を節約できると思います.

于 2012-08-27T01:31:22.400 に答える