在作企業級管理系統時,咱們須要對用戶的操做行爲進行跟蹤,以便出現問題後對問題數據進行分析或者恢復。數據庫
例如如今咱們有一張用戶表User:json
字段名 | 字段解釋 |
USER_ID | 用戶ID |
USER_NAME | 用戶姓名 |
STATUS | 用戶狀態 1:正常 2:封帳號 3:禁發動態 4:禁言 |
若是後臺管理員對用戶作了禁言等操做,必然須要對該操做以及緣由進行日誌記錄以便後續的用戶管理。最簡單的日誌記錄就是針對這張USER表創建一張USER_LOG日誌表,而後對操做進行記錄。可是若是每張業務表的操做都如此進行日誌記錄,勢必會形成日誌表數量倍增,並且還會加大開發量。針對這種狀況,咱們能夠設計一個通用的操做日誌模塊。spa
表說明:設計
操做日誌表 -- 主要用來保存表名,業務模塊名稱,操做類型,操做內容等。日誌
操做日誌詳細表 -- 主要用來保存字段的原始值和新值,用於數據恢復。ci
考慮到若是操做的字段較多,詳細表可能數據量會很大,從新設計數據庫表:開發
說明:CHANGE_COLUMN字段冗餘了操做的字段名+先後值得json字符串。字符串