1

ビジネス リスティングのウェブサイトを運営しています。私は現在、ユーザーがログインしてリストを更新するためのインターフェースを構築しています。

実装したい機能は以下の通りです。

  1. ユーザーがリストを編集して提出する
  2. 編集内容は承認のために管理者に送信されます
  3. その間、既存のリストはサイトに残ります
  4. 管理者は編集内容を確認し、承認する前に間違いを修正します

現在、通常、このようなことは、データベースに「重複」行を格納し、フラグを「保留中」に設定することで実現できます。

ただし、リスト データは、複数のカテゴリ選択を含むテーブルを含む複数のテーブルにまたがって保存されるため、可能であれば別のアプローチを試してみたいと思います。

したがって、理想的には、追加のデータベース レコードを作成しないことをお勧めします。私が使用できるより良い代替手段はありますか?

4

1 に答える 1

0

実際には2つの異なるアプローチがあります。

  1. データベースを使用します (同じテーブル、または元のテーブルとほぼ同じ構造の「保留中の変更」テーブルのいずれか)。ただし、何らかの方法でレコードが作成されます。

  2. データベースはまったく使用しませんが、いくつかの中間ストア (キー/バリュー ストア、メッセージ キュー、memcache、電子メール、いくつかのファイルのみ、思いつくものは何でも ;)) を使用します。

オプション2を使用すると、質問に対する2人のコメント者がすでに言ったように簡単に実行できます。データ構造を作成し、この構造をシリアル化し、管理者がデータを「承認」してデータベースで更新するまで、どこにでも保存します。

一見すると、もちろん 2 番目のオプションの方が実装が速くなりますが、データベースに実装すると、現在のフラグまたは状態フラグを使用して変更を「ロールバック」することができます。第二に、私見ですが、すべての(関連する)データをまとめて維持し、保守しやすくしたいと考えています

于 2013-10-25T19:04:59.870 に答える