主站点迁移到分站点
当站点被设置为主站点时,需要做的迁移动作。假设主站点是1站点和36站点
数量和sql,只写觉的重要的数据
迁移项 | 备注 | 数量(1站点,36站点) | SQL |
|
|
|
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
客户站点开通 | 开通主站点和分站点,在其他数据处理完后,最后设置主站点同步的webhook,分站点的webhook |
| 在界面处理 |
|
|
|
|
|
|
|
|
|
|
|
|
库存 | 不处理, 跟库位一起到分站点 主站点要手动建通用的库位 | 1: 72215 36: 1502 | select count(*) from container_product
inner join container on container.id = container_id
inner join aisle on aisle.id = container.aisle_id
inner join zone on zone.id = zone_id
inner join warehouse on warehouse.id = warehouse_id
where warehouse.company_id = 1 and container.status = 'ACTIVE'; | 关联数据需要到分站点 company_product update company_product set company_id=xxx where company_id=1; update company_product set company_id=xxx where company_id=36; 再SQL group by到主站点。 INSERT INTO company_product (product_id, company_id, live_stock, live_stock_fba, last_stock_update_time)
SELECT
container_product.product_id,
warehouse.company_id,
IFNULL(SUM(container_product.quantity),0) AS quantity,
IFNULL(SUM(IF(warehouse.is_fba_transport=1,container_product.quantity,0)),0) AS fba_quantity,
NOW()
FROM container_product
JOIN container ON container.id = container_product.container_id
JOIN container_type ON container_type.id = container.container_type_id AND container_type.special_type <> 'IN_USE_FOR_STOCKING'
JOIN aisle ON aisle.id = container.aisle_id
JOIN zone ON aisle.zone_id = zone.id
JOIN warehouse ON warehouse.id = zone.warehouse_id AND warehouse.company_id in (1,19)
group by container_product.product_id
ON DUPLICATE KEY UPDATE
company_product.live_stock = VALUES(live_stock),
company_product.live_stock_fba = VALUES(live_stock_fba),
company_product.last_stock_update_time = VALUES(last_stock_update_time); company_product_date_stock, 因为收费在主站点,理论上数据保留在主站点不用移过来,但是分站点也要有同步数据,不然出了问题很难查? 移到分站点,最后用 sql 把多个分站点的数据,合并到主站点. update company_product_date_stock set company_id=xxx where company_id=1; update company_product_date_stock set company_id=xxx where company_id=36; //合并库存SQL delete from company_product_date_stock where company_id=1; insert into company_product_date_stock select 1 as company_id,product_id,date,sum(stock),now() as update_time,type from company_product_date_stock where company_id in (1,19,20) group by product_id,date,type;
company_product_stock_to_use,只有准备中,待处理的订单会有,跟着订单走。 订单留在主站点,所以这数据也留在主站点。 client_company_date_temp_storage_volume, 同 company_product_date_stock 。 移到分站点,然后从各个分站点group by 合并到主站点 |
|
|
|
|
|
|
|
|
|
|
|
库位 | 不处理,跟过道一起自动到分站点 | 1:843115 36: 23044 | select count(container.id) from container
inner join aisle on aisle.id = container.aisle_id
inner join zone on zone.id = zone_id
inner join warehouse on warehouse.id = warehouse_id
where warehouse.company_id = 1 and container.status = 'ACTIVE'; | container_product_transaction移到分站点 与container_id 绑定,不需要处理 client_temp_storage_volume_transaction 移到分站点,这个看着有点麻烦 |
|
|
|
|
|
|
|
|
|
|
|
过道 | 不处理,跟库区一起自动到分站点 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
库区 | 不处理,跟仓库一起自动到分站点 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
仓库 | 移到分站点, 主站点要另建一个通用库位 | 1: 19 36:12 | select company_id,count(*) from warehouse where company_id in (1,36) group by company_id ; |
|
|
|
|
|
|
|
|
|
|
|
|
产品 | 跨站点的,不处理 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
本地订单 | 准备中,待处理的留在主站点,但要通过界面按钮手动同步副本到分站点。 =》 建议加一个工具,根据分站点的订单,反向往主站点创建一个傀儡订单,解决在主站点扣费的问题。 |
|
|
|
|
|
|
|
|
|
|
|
|
| |
拣货单 | 移到分站点 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
代理专线订单 | 留在主站点, 未完成的订单,通过界面按钮手动同步副本到分站点 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
专线订单 | 留在主站点, 未完成的订单,通过界面按钮手动同步副本到分站点 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
FBA订单 | 留在主站点, 未完成的订单,通过界面按钮手动同步副本到分站点 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
退货订单 | 留在主站点, 未完成的订单,通过界面按钮手动同步副本到分站点 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
补货订单 | 不处理, 留在主站点 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
客户发货单 | 不处理, 虽然有company_id,但是跨站点显示的,起始仓目的仓所在站都能看到 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
提单 | 跨站点的,不处理 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
物流计划 | 跨站点的,不处理 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
批次&箱&包裹 | 修改company_id, 移到分站点 |
|
|
|
|
|
|
|
|
|
|
|
|
| |
仓库调拨单 | 跟发货单走的,不处理 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
仓库调拨箱 | 跟箱子走的,不处理 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
邮递服务 | 不移,但要在分站点创建对应下单的邮递服务 (不同类型要分开打单的,面单尺寸不一样的,还是要分开不同的名字来建服务) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
邮递服务商账号 | 不移,分站点不需要做对接,不需要服务商账号 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
包裹尺寸 | 不移,简单考虑分站点使用一个Unlimited Size即可。 但是代理专线订单过机时如何检查尺寸? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
客户组 | 暂不移?但要在分站点建一个共用的客户组 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
费率表 | 不移,分站点不产生扣费, 但要在分站点设置一个通用的费率表,收费都为0. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|