迁移脚本的修复
This commit is contained in:
@@ -237,10 +237,10 @@ packages: # 同理
|
||||
legacy_meal_name: "三网充电宝全国畅玩年卡套餐..."
|
||||
target_package_id: 2 ← 必填:新库 tb_package.id
|
||||
|
||||
series: # 仅保留奇成套餐系列快照,生成器不要求填写
|
||||
series: # 套餐系列兜底映射;有 target_package_id 时优先用 tb_package.series_id
|
||||
- legacy_series_id: "..."
|
||||
legacy_series_name: "国内卡 无预存30天"
|
||||
target_series_id: null
|
||||
target_series_id: 5 ← 可选:无当前套餐时作为资产 series_id 兜底
|
||||
|
||||
agents: # legacy_agent 归属模式 + 代理钱包初始化
|
||||
- legacy_agent_id: "D15EC779767B412A82B8448AC2324F04"
|
||||
@@ -287,7 +287,7 @@ agents:
|
||||
`ownership_rules.device.mode: legacy_agent`,脚本会用设备 `package_source_slot` 那张绑定卡的 `agent_id`
|
||||
决定设备归属。
|
||||
|
||||
设备槽位解析优先级是 `devices.csv` 行级配置 > `overrides.devices` > `ownership_rules.device`。`current_slot` 对应 `tb_device_sim_binding.is_current`;`package_source_slot` 只决定从哪张绑定卡读取奇成旧套餐,新系统套餐仍写到设备资产。
|
||||
设备槽位解析优先级是 `devices.csv` 行级配置 > `overrides.devices` > `ownership_rules.device`。`current_slot` 是默认当前卡槽,对应 `tb_device_sim_binding.is_current`;`package_source_slot` 是默认旧套餐读取卡槽,只决定从哪张绑定卡读取奇成旧套餐,新系统套餐仍写到设备资产。若 CSV 行级和配置都不填 `package_source_slot`,会回退到 `current_slot`。
|
||||
|
||||
## 5. 识别迁移数据(后台报表过滤用)
|
||||
|
||||
@@ -361,7 +361,7 @@ real_used_mb = total_bytes_cnt / (1 + flow_add_discount / 100)
|
||||
|
||||
设备上的卡在新系统运行态会按设备维度判断有效套餐和复机条件,因此迁移时只用设备 `package_source_slot` 对应绑定卡读取奇成旧套餐生命周期。生成的新系统套餐使用记录仍然是 `usage_type=device`、`device_id=设备ID`,不会挂到这张卡资产上。其他槽位绑定卡不读取旧套餐,避免同一设备重复迁入多份主套餐。
|
||||
|
||||
设备和卡的 `series_id` 以新系统目标套餐为准:脚本通过 `mapping.packages[].target_package_id` 对应的 `tb_package.series_id` 写入资产,并额外生成 `step2_06_asset_series_update.sql`,用于修复已经导入但因 `ON CONFLICT DO NOTHING` 没有被 step1 更新到的资产。
|
||||
设备和卡的 `series_id` 以新系统目标套餐为准:脚本优先通过 `mapping.packages[].target_package_id` 对应的 `tb_package.series_id` 写入资产。若旧卡没有当前正式套餐、但本批 `series[].target_series_id` 只配置了一个目标系列,脚本会把它作为资产系列兜底。`step1` 对已存在资产也会更新 `series_id`;`step2_06_asset_series_update.sql` 继续用于按已生成套餐使用记录回填系列。
|
||||
|
||||
## 7. 重要约束
|
||||
|
||||
|
||||
Reference in New Issue
Block a user