123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- DROP PROCEDURE IF EXISTS sp_city_data;
- DELIMITER $$
- CREATE PROCEDURE sp_city_data(IN n INT)
- BEGIN
- # 每迁移一个wcm节点,@n 必须 +1
- SET @n = n;
- # 每个wcm节点,元数据表需要加上后缀,以区分同名元数据表
- SET @citySuffix = concat('_city', @n);
- # 支持断点续传,上一次迁移的最后一个 xx ID
- SET @prevRecId = ifnull((SELECT prev_id from data_migration_log where table_name = 'wcmchnldoc'), 0);
- SET @prevDocId = ifnull((SELECT prev_id from data_migration_log where table_name = 'wcmdocument'), 0);
- SET @prevClassInfoViewId = ifnull((SELECT prev_id from data_migration_log where table_name = 'xwcmclassinfoview'), 0);
- SET @prevTableInfoId = ifnull((SELECT prev_id from data_migration_log where table_name = 'xwcmtableinfo'), 0);
- # 支持数据增量 偏移量 修改
- # xx ID 偏移量,获取海云系统中的对应 xx maxID 错开一段距离,改为存入最大id
- SET @maxDocId= IFNULL((SELECT MAX(DOCID) from trs_hycloud_iip.wcmdocument),0);
- SET @docIdOffset = @maxDocId - @prevDocId;
- SET @maxRecId= IFNULL((SELECT MAX(recId) from trs_hycloud_iip.wcmchnldoc),0);
- SET @recIdOffset = @maxRecId - @prevRecId;
- SET @maxClassInfoViewId = IFNULL((SELECT MAX(CLASSINFOVIEWID) from trs_hycloud_iip.xwcmclassinfoview),0);
- SET @classInfoViewIdOffset = @maxClassInfoViewId - @prevClassInfoViewId;
- SET @view_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmviewinfo'), 0);
- SET @viewIdOffset = @view_offset_num;
- SET @site_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmwebsite'), 0);
- SET @siteIdOffset = @site_offset_num;
- SET @wcmchannel_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmchannel'), 0);
- SET @channelIdOffset = @wcmchannel_offset_num;
- SET @classinfo_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmclassinfo'), 0);
- SET @classInfoIdOffset = @classinfo_offset_num;
- #数据迁移
- call sp_data_migration_wcmdocument(@prevDocId, @docIdOffset, @viewIdOffset, @siteIdOffset, @channelIdOffset);
- call sp_data_migration_wcmchnldoc(@prevRecId, @recIdOffset, @docIdOffset, @siteIdOffset, @channelIdOffset, @viewIdOffset);
- call sp_data_migration_xwcmclassinfoview(@prevClassInfoViewId, @classInfoViewIdOffset, @classInfoIdOffset, @docIdOffset, @viewIdOffset);
- call sp_data_migration_wcmmetatable(@citySuffix, @prevTableInfoId, @prevDocId, @docIdOffset, @channelIdOffset);
- END $$
- DELIMITER ;
|