在作企业级管理系统时,咱们须要对用户的操做行为进行跟踪,以便出现问题后对问题数据进行分析或者恢复。数据库
例如如今咱们有一张用户表User:json
字段名 | 字段解释 |
USER_ID | 用户ID |
USER_NAME | 用户姓名 |
STATUS | 用户状态 1:正常 2:封帐号 3:禁发动态 4:禁言 |
若是后台管理员对用户作了禁言等操做,必然须要对该操做以及缘由进行日志记录以便后续的用户管理。最简单的日志记录就是针对这张USER表创建一张USER_LOG日志表,而后对操做进行记录。可是若是每张业务表的操做都如此进行日志记录,势必会形成日志表数量倍增,并且还会加大开发量。针对这种状况,咱们能够设计一个通用的操做日志模块。spa
表说明:设计
操做日志表 -- 主要用来保存表名,业务模块名称,操做类型,操做内容等。日志
操做日志详细表 -- 主要用来保存字段的原始值和新值,用于数据恢复。ci
考虑到若是操做的字段较多,详细表可能数据量会很大,从新设计数据库表:开发
说明:CHANGE_COLUMN字段冗余了操做的字段名+先后值得json字符串。字符串