私たちは、誰かがレコードを追加する単純なWebベースのシステムを構築しています。たとえば、CMSページは、Webサイトに表示される前に担当者によって承認されます。
その後、作成者がそのページを後で編集することを決定した場合、ライブコピーに基づいてドラフトを作成します。承認されると、古いライブページが置き換えられます。
完全なバージョン管理を行うことを考えましたが、1。ドラフトだけ、2。ライブだけ、または3.1つのドラフトと1つのライブを用意するだけでこれを簡単に保つことができると信じています。
この機能は、ページだけでなく、複数の「モノ」に必要です。
最後に、質問:これら2つのレコードを同じテーブルに格納する方がよいと思いますか、それともミラーテーブルの方がよいと思いますか?
おそらく状況次第だと思いますが、同じ構造の2つのテーブルを持つという理想は好きではありません。わずかに遅い操作(データを表示するときに常にドラフトを照会する必要があるため)とのトレードオフは、それだけの価値がありますか?