我想为我们的系统添加审计跟踪,所以当任何添加/删除/更新操作发生时,我会记录它,并提供以下信息:-
CRUD 操作类型。是添加、删除还是更新。
被修改的记录ID。
日期和时间。
现在我找到了两种可以遵循的方法;要么有一个包含以下字段的审计跟踪表:-
- ID .如 123445。
- CRUD_描述。比如删除
- 记录_ID。如Qaeop12771
- 日期。如 1june2O13
或者有两个表,一个用于 CRUD 操作的查找表,例如
- CRUD_ID。比如3。
- CRUD_Description.如删除。
然后审核试用会参考上表:-
- ID。如 123445。
- CRUD_ID(这将是 CRUD 表的外键),例如 3。
- 记录_ID。如Qaeop12771
- 日期。如 1june2O13
那么哪种方法更好?
第二个问题如果我会遵循第二种方法。那么是否更喜欢在我的代码中使用 CRUD_ID,例如,如果 oprration 是删除,我可能会让我的代码看起来像:-
Inset into audit_trail (ID, CRUD_ID, Record_ID, Date) values ( 123445, 3,12771,1june2O13) //CRUID 3 represents delete operation.
此致