管理类网站需要记录操作日志,比如现在需要修改一条记录是否需要记录该条记录的修改前的值?如果需要的话如何有较好的办法记录下来。
如果是重要数据的话,需要记录的,
一般可以考虑用数据库触发器。
有几种建议:
1、做sql 镜像,要2005以上,但是2005中的镜像微软不建议用于生产环境
2、在没法操作前先把数据读出出来,然后在写入,这样操作前操作后的数据都可以保存,但效率有影响
3、做高级别的事务回滚,这样并不能记录更改的情况
对于重要数据,建议用对2种方式,做成异步的话对效率影响会小点。
参考日志表主要字段:
ID,主键
OperateType,操作类型如新增、修改、删除等
OperateContent,操作见容
Operator,操作人
OperateTime,操作时间
OperatorObjectID,操作对象,如产品、企业、人员等
再根据操作对象,建N子表,即原对象表的复印版本,存放每次增删改的内容,字段与原对象表一致。也可以抽象成一个独立的对象表,分别用F1,F2,F30等字段存放。