操作日志迁移
操作日志迁移
规划
- [ ]
tbl_operate_log
从mysql base
实例的xnn_core_product_2
迁到mongo
的
方案
- [ ] 双写
先上一个版本, mysql 和 mongo 双写, 先写 mysql, 再写 mongo, mongo里带 mysql 生成的自增 id
- [ ] 同步数据, 检验数据完整性
脚本1: 将 mysql 里的数据同步到 mongo, 用 id 来检验数据是否已经写到 mongo
脚本2: 检验一段时间内数据的一致性
- [ ] 切换DB
将读操作日志的代码切到 mongo
表结构
_id
mysql_id O int mysql里该记录的id, 全量后就不用记录这个了
op_type M int 操作类型,1:新建 2:更新 3:删除 4.称重 5.取消称重 6.缺货 7.取消缺货 8.打印
create_time M date 创建时间
change_url M string 操作的url
station_id M string 站点id
group_id M int
op_before M object 操作前信息
op_after M object 操作后信息
op_source M int 操作来源:1:单条操作 2:批量操作
op_id M string 操作对象的id,不同的log_type对应不同的含义,eg:log_type为1,代表订单id
op_user M string 操作用户
log_type M int 1:order,2:sku 3:spu
search_text_1 O string
search_text_2 O string
search_text_6 O string
indexs:
_id_
op_id_1_station_id_1
station_id_1_create_time_-1
涉及接口:
station/operate_log/create
station/operate_log/list
station/operate_log/get
时间安排:
安排 | 时间 |
---|---|
双写, 测试, 灰度, 上线 | 4月4号~4月8号(2天) |
写脚本, 测试, 验证, 开始同步线上数据 | 4月9号~4月12号(4天) |
切代码的读接口, 测试 | 4月15号~4月16号(2天) |
灰度, 上线 | 4月17号~4月18号(2天) |