私はアプリケーションを構築しています。基本的には、電子商取引の注文フルフィルメント アプリケーションです。この監査トライアルでは、誰が何を何回変更したか、その他が重要な側面となります。これをデータベース/テーブルレベルで維持するにはどうすればよいですか? レコードが 3 人によって変更された場合、すべての変更を維持し、誰が何を変更したかを追跡するにはどうすればよいでしょうか?
質問する
1636 次
1 に答える
2
まず、次のような構造で追跡するすべてのテーブルを作成する必要があります。
create table user_track_logs {
id bigint(20) primary key auto_increment,
key_id int (11),
user_id (int),
created timestamp default now(),
field varchar(128)// set bigger if you have long named columns (like this_columns_is_very_important_for_me_and_my_employers...)
field_value_was text null,
field_value_new text null,
}
次に、MySQL 接続の var に現在のユーザー ID を設定する必要があります。または、MySQL のユーザーを使用することもできます。ユーザーごとに個別の MySQL のログインを作成できます。
3 番目の作成により、挿入/更新/削除がトリガーされ、これが に格納されuser_track_logs
ます。
または、このプロセスを PHP でエミュレートすることもできますが、PHP ではより困難になります。
于 2012-08-24T07:57:34.757 に答える