123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- # 执行如下sql可清除之前所有迁移的数据,然后可以开始重新迁移
- # !!!如果海云系统启动并恢复了使用,则再也不能执行如下sql了,否则会误删海云的正常数据
- # 清除的数据 不包括元数据表,一般情况下,元数据表不需要重新迁移;如果确定元数据有问题,也需要重新迁移,则手工删除所有......_city... 后缀的元数据表即可
- DROP PROCEDURE IF EXISTS sp_recover_city;
- DELIMITER $$
- CREATE PROCEDURE sp_recover_city(IN n INT)
- BEGIN
- SET @citySuffix = concat('贵州迁移站点__city', @n,'%');
- # xx ID 偏移量,获取海云系统中的对应 xx maxID 错开一段距离,改为存入最大id
- SET @site_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmwebsite'), 0);
- IF (@site_offset_num > 0)
- then
- DELETE from trs_hycloud_iip.wcmclassification where CNAME like @citySuffix;
- DELETE from trs_hycloud_iip.wcmclassificationobj where OBJTYPE = 103 and OBJID > @site_offset_num;
- delete from trs_hycloud_iip.wcmwebsite where siteid > @site_offset_num;
- END IF ;
- SET @view_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmviewinfo'), 0);
- IF (@view_offset_num > 0)
- then
- delete from trs_hycloud_iip.xwcmviewinfo where viewinfoid > @view_offset_num;
- delete from trs_hycloud_iip.xwcmmetaviewfieldgroup where METAVIEWID > @view_offset_num;
- END IF ;
- SET @tabel_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmtableinfo'), 0);
- IF (@tabel_offset_num > 0)
- then
- delete from trs_hycloud_iip.xwcmtableinfo where tableinfoid > @tabel_offset_num;
- END IF ;
- SET @group_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmmetaviewfieldgroup'), 0);
- IF (@group_offset_num > 0)
- then
- delete from trs_hycloud_iip.xwcmmetaviewfieldgroup where metaviewfieldgroupid > @group_offset_num;
- end if;
- SET @class_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmclassinfoview'), 0);
- IF (@class_offset_num > 0)
- then
- delete from trs_hycloud_iip.xwcmclassinfoview where classinfoviewid > @class_offset_num;
- end if;
- SET @classinfo_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmclassinfo'), 0);
- IF (@classinfo_offset_num > 0)
- then
- delete from trs_hycloud_iip.xwcmclassinfo where classinfoid > @classinfo_offset_num;
- end if;
- SET @db_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmdbfieldinfo'), 0);
- IF (@db_offset_num > 0)
- then
- delete from trs_hycloud_iip.xwcmdbfieldinfo where dbfieldinfoid > @db_offset_num;
- END IF ;
- SET @employer_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmmetaviewemployer'), 0);
- IF (@employer_offset_num > 0)
- then
- delete from trs_hycloud_iip.xwcmmetaviewemployer where metaviewemployerid > @employer_offset_num;
- END IF ;
- SET @xwcmviewfieldinfo_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmviewfieldinfo'), 0);
- IF (@xwcmviewfieldinfo_offset_num > 0)
- then
- delete from trs_hycloud_iip.xwcmviewfieldinfo where viewfieldinfoid > @xwcmviewfieldinfo_offset_num;
- END IF ;
- SET @wcmchannel_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmchannel'), 0);
- IF (@wcmchannel_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmchannel where channelid > @wcmchannel_offset_num;
- END IF ;
- SET @wcmchannelsyn_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmchannelsyn'), 0);
- IF (@wcmchannelsyn_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmchannelsyn where channelsynid > @wcmchannelsyn_offset_num;
- END IF ;
- SET @wcmtemplate_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmtemplate'), 0);
- IF (@wcmtemplate_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmtemplate where tempid > @wcmtemplate_offset_num;
- delete from trs_hycloud_iip.wcmchannelchildindexquote where TEMPLATEID > @wcmtemplate_offset_num;
- END IF ;
- SET @config_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmfolderpublishconfig'), 0);
- IF (@config_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmfolderpublishconfig where folderpublishconfigid > @config_offset_num;
- END IF ;
- SET @cwcmtemplateargument_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmtemplateargument'), 0);
- IF (@cwcmtemplateargument_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmtemplateargument where templateargumentid > @cwcmtemplateargument_offset_num;
- END IF ;
- SET @wcmtemplateemploy_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmtemplateemploy'), 0);
- IF (@wcmtemplateemploy_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmtemplateemploy where templateemployid > @wcmtemplateemploy_offset_num;
- END IF ;
- SET @wcmtemplatenest_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmtemplatenest'), 0);
- IF (@wcmtemplatenest_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmtemplatenest where templatenestid > @wcmtemplatenest_offset_num;
- END IF ;
- SET @wcmtemplatequote_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmtemplatequote'), 0);
- IF (@wcmtemplatequote_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmtemplatequote where templatequoteid > @wcmtemplatequote_offset_num;
- END IF ;
- SET @wcmappendix_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmappendix'), 0);
- IF (@wwcmtemplatequote_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmappendix where appendixid > @wcmappendix_offset_num;
- END IF ;
- SET @wcmchnldoc_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmchnldoc'), 0);
- IF (@wcmchnldoc_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmchnldoc where recid > @wcmchnldoc_offset_num;
- END IF ;
- SET @wcmdocument_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmdocument'), 0);
- IF (@wcmdocument_offset_num > 0)
- then
- delete from trs_hycloud_iip.wcmdocument where docid > @wcmdocument_offset_num;
- END IF ;
- SET @mas_masid_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'mas_masid'), 0);
- IF (@mas_masid_offset_num > 0)
- then
- delete from trs_mas.mas_masid where id > @mas_masid_offset_num;
- END IF ;
- SET @mas_masvideo_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'mas_masvideo'), 0);
- IF (@mas_masvideo_offset_num > 0)
- then
- delete from trs_mas.mas_masvideo where id > @mas_masvideo_offset_num;
- END IF ;
- delete from trs_data_migration.data_migration_log;
- END $$
- DELIMITER ;
- /**
- # 清理元数据
- USE trs_data_migration;
- DROP PROCEDURE IF EXISTS sp_delete_metatables;
- DELIMITER $$
- CREATE PROCEDURE sp_delete_metatables()
- BEGIN
- DECLARE isover INT DEFAULT 0;
- DECLARE f_TABLENAME varchar(50) DEFAULT NULL;
- DECLARE cur CURSOR FOR
- SELECT
- TABLENAME
- FROM trs_data_migration.xwcmtableinfo
- ORDER BY TABLEINFOID asc;
- DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
- OPEN cur;
- FETCH cur INTO
- f_TABLENAME
- ;
- WHILE isover = 0 DO
- SET @sql = concat('create table if not exists ', 'trs_hycloud_iip.wcmmetatable', f_TABLENAME, '(', f_TABLENAME ,'ID INT);');
- prepare stmt from @sql;
- EXECUTE stmt;
- deallocate prepare stmt;
- SET @sql = concat('truncate table ', 'trs_hycloud_iip.wcmmetatable', f_TABLENAME);
- prepare stmt from @sql;
- EXECUTE stmt;
- deallocate prepare stmt;
- FETCH cur INTO
- f_TABLENAME
- ;
- END WHILE;
- CLOSE cur;
- END $$
- DELIMITER ;
- CALL trs_data_migration.sp_delete_metatables();
- **/
|