系统操做日志设计

1 前言

在作企业级管理系统时,咱们须要对用户的操做行为进行跟踪,以便出现问题后对问题数据进行分析或者恢复。数据库

2 系统设计

2.1 场景

例如如今咱们有一张用户表User:json

字段名 字段解释
USER_ID 用户ID
USER_NAME 用户姓名
STATUS 用户状态  1:正常 2:封帐号 3:禁发动态 4:禁言

若是后台管理员对用户作了禁言等操做,必然须要对该操做以及缘由进行日志记录以便后续的用户管理。最简单的日志记录就是针对这张USER表创建一张USER_LOG日志表,而后对操做进行记录。可是若是每张业务表的操做都如此进行日志记录,势必会形成日志表数量倍增,并且还会加大开发量。针对这种状况,咱们能够设计一个通用的操做日志模块。spa

2.2 表设计

表说明:设计

操做日志表 -- 主要用来保存表名,业务模块名称,操做类型,操做内容等。日志

操做日志详细表 -- 主要用来保存字段的原始值和新值,用于数据恢复。ci

 

考虑到若是操做的字段较多,详细表可能数据量会很大,从新设计数据库表:开发

说明:CHANGE_COLUMN字段冗余了操做的字段名+先后值得json字符串。字符串

相关文章
相关标签/搜索