查看字段历史数据django-field-history
- 我们的audit log 在数据库表 field_history_fieldhistory 中,具体信息包括:
谁,在什么时间,更改了哪个数据行记录,哪个字段,更改后的值, 等等
-
能查看一个数据库表字段的更改历史的前提是后端python代码中对该字段启用了change history track, 一般比较重要的业务字段我们都是要求启用change history track的
- 注:如果不熟悉数据库表字段,可以咨询后端开发人员,也可以试着借助数据库自带的数据字典自己找一下
- select * from information_schema.tables
- select *** from information_schema.columns
- 注:如果不熟悉数据库表字段,可以咨询后端开发人员,也可以试着借助数据库自带的数据字典自己找一下
-
举例, 想查看一个公司的cin_code的更改历史
- 首先,确定要查看的字段为companies_company.cin_code
- 定位是哪个行记录:
-
select id from companies_company where company_legal_name='VENTURELORD SPACETECH PRIVATE LIMITED'
-
输出为: 3693
-
- 查询change log(object_id是step b中返回的主键id子段值)
-
select * from field_history_fieldhistory where object_id='3693' and field_name = 'cin_code'
-
注: user_id是更改人的id,这里是4894
-
- 进一步看是谁做了更改:
-
select email from users_client where id ='4894'
-