Files
integral-shop/docs/com-sxsy80-data-imgration.md
apple 5c4450c417 docs(sxsy80): 迁移文档、清理脚本与 wa_merchandise 提取工具
补充数据迁移说明与 cleanup SQL;增加从 dump 提取保留 id 与生成 INSERT 的脚本及产物。

Made-with: Cursor
2026-04-27 12:13:19 +08:00

3.5 KiB
Raw Blame History

公司名称:太原树英商贸

mysql数据库配置信息

host ip: 106.14.132.80 datasource: name: yangtangyoupin username: yangtangyoupin password: 5Fn8eWrbYFtAhCZw

数据清理任务

  • 数据范围:用户 id 集(wa_users 92566,92801,92839,93004,92637,92965,93093,93096,93116,92787,93121,93129,92884,93007,93020,93094,93099,93110,92638

  • 保留wa_users表中id在用户id数据范围的 ,删除其余用户数据

  • 保留eb_user表中uid在用户id数据范围的 ,删除其余用户数据

  • wa_order 清空wa_order表中数据

  • wa_merchandise 从源数据dump文件中提取“created_at >= 2026-04-22”并且seller_id或buyer_id在用户id数据范围的寄售商品删除其余数据 (当前库表字段为 user_id 表示卖家,实现时按 user_id 与日期条件过滤。)

  • wa_selfbonus_log 只保留 user_id 在用户id数据范围内的记录删除其余数据

  • wa_sharebonus_log 只保留 user_id 在用户id数据范围内的记录删除其余数据

  • wa_coupon_log 只保留 user_id 在用户id数据范围内的记录删除其余数据

  • wa_withdraw 清空wa_withdraw表中数据

  • eb_store_order 清空eb_store_order表中数据

  • eb_user_integral_record 只保留用户在名单内的记录;表字段为 uid(与 wa_users.id / eb_user.uid 对应),实现按 uid 过滤。

执行脚本

  • wa_merchandise 批量 INSERT从 dump 筛条件后生成)

    • 生成结果:docs/sql/wa_merchandise_insert_from_dump_sxsy80.sql(当前 18 行,与 dump 中 INSERT INTO wa_merchandise 一致)。
    • 重新生成:python3 docs/sql/generate_wa_merchandise_insert_from_dump.py /path/to/ccd-yangtangyoupin_*.sql(不传参时默认使用仓库上级 integral-shop/db/ccd-yangtangyoupin_2026-04-26_10-25-01_mysql_data.sql)。
    • 导入前注意主键冲突:若目标库已有相同 id,需先删改或改用 REPLACE INTO / 调整自增策略。
  • SQLdocs/sql/com-sxsy80-data-cleanup.sql

  • 本机 Homebrew mysql 9 客户端不支持 mysql_native_password,可用 pip install pymysql 后执行:

export YTYP_DB_PASSWORD='(见上文 datasource.password'
python3 docs/sql/run_com_sxsy80_cleanup.py
  • 已于 2026-04-26 对远程库执行并成功 COMMIT(首轮:wa_merchandise 按 2026-04-24 条件删除 2114 行;wa_selfbonus_log 1592wa_sharebonus_log 1399wa_coupon_log 171eb_user_integral_record 1613eb_user 80wa_users 80wa_order / wa_withdraw / eb_store_orderTRUNCATE)。
  • 2026-04-26 二次:按文档将 wa_merchandise 日期阈值改为 2026-04-22 重新执行(见 docs/sql/com-sxsy80-wa_merchandise-only.sql),仅影响该表;删除 0 行(上轮已按 04-24 清理,现存行均满足「>= 04-22 且卖家在名单」;若 04-2204-23 且卖家在名单的数据曾被误删,需从备份恢复库后再用 04-22 规则全量重跑)。
  • 2026-04-26 三次:按「从源 dump 提取」规则:从 ccd-yangtangyoupin_2026-04-26_10-25-01_mysql_data.sql 解析 created_at >= 2026-04-22user_id 在名单内的 18id,执行 DELETE ... WHERE id NOT IN (...);保留 id 列表见 docs/sql/wa_merchandise_keep_ids_from_dump_sxsy80.txt删除 0 行(当前库中 wa_merchandise 已仅含上述 id 子集,与 dump 规则一致)。

相关文件

  • 源数据dump文件 'integral-shop/db/ccd-yangtangyoupin_2026-04-26_10-25-01_mysql_data.sql'