4
データベース履歴表/追跡表
現在、次のように追跡/履歴テーブルを構造化します。 PrimaryKey-ID OtherTableId-fk fieldName-追跡するフィールドの名前 OldValue NewValue ユーザー名 CreateDateTime したがって、基本的には、別のテーブル履歴を追跡し、変更されたフィールドの列名を新しい値と古い値で保存するテーブルが必要です。私の質問は、誰でもこれに穴を開けることができますか?また、その追跡がテーブルの列名のみがfieldName列に入力されるようにする最も簡単な方法は何ですか?現在、私のオプションは、作成中のサービスに列挙を含めるか、別のステータステーブルを作成してfieldNameをfkにすることです。より良いアイデアはありますか? 目標の編集:現在、追跡する必要があるフィールドは2つだけです。1つのフィールドはWebページに表示され、履歴が表示されます。もう1つのフィールドには1つの部門のみがアクセスし、クエリ可能なデータベースのビューにアクセスできます。彼らは、この1つのフィールドだけを照会して、フィールドを変更したユーザーと何に関する情報を取得します。これが、テーブルレコード履歴の正確なコピーではなく、データベースフィールドがテーブル列を定義する場所に設定したかった理由です。将来的にフィールドを追加または削除する可能性がある2つのフィールドのみを追跡する必要があります。 ありがとう!