0

ローカルで変更され、夜間にWebサーバーにアップロードされる在庫に関する情報を含むCSVファイルがあります。Webサイトには、MySQLデータベースにインベントリ情報のコピーもありますが、これも変更されている可能性があります。

私が達成したいのは、データベース内のインベントリ情報とアップロードされたCSVファイルの間の双方向の同期です。CSVを解析してデータベースから情報を抽出することは問題ではありませんが、2つのデータセットができたので、それらを同期する方法を見つけるのに苦労しています。

CSVとデータベースでレコードが異なる場合、どちらを使用するかをどのように知ることができますか?CSVで変更を加えるたびに、ユーザーにタイムスタンプを付けることに頼りたくありません。どの情報がより最新であるかを知る方法はありますか?

どんな助けでも大歓迎です。

PS念のために言っておきますが、この質問にPHPのタグを付けました。これは、同期を実行するために使用する言語だからです。

4

2 に答える 2

1

タイムスタンプフィールドを作成する必要があります。そして、レコードの変更を時間外にタイムスタンプを更新するアプリケーションがあります。

複数のサイトが3つのタイムスタンプに基づいてレコードを上下に同期する前に、同様のアプリを実行しました。レコードが最後に更新された日時を追跡するための1つ。レコードがいつ削除されたかを追跡するための1つ。そして、変更がこのPCにいつコピーされたかを追跡するためのもの。

次に、すべてのPCで、レコードが最後に相互に同期されたのはいつかを追跡します。

このようにして、最新のレコードを常にすべてのPCに伝播できます。

于 2012-07-31T03:44:17.327 に答える
0

これはバージョン管理の問題です。簡単な解決策は、すべての「行」または「レコード」(一意の識別子がある場合)を比較し、ユーザーに適切な値を選択するように依頼することです。

于 2012-07-29T21:45:16.673 に答える