3_sp_data_migration_wcmfolderpublishconfig.sql 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. use trs_data_migration;
  2. DROP PROCEDURE IF EXISTS sp_data_migration_wcmfolderpublishconfig;
  3. DELIMITER $$
  4. CREATE PROCEDURE sp_data_migration_wcmfolderpublishconfig(IN prevFolderPublishConfigId BIGINT(20),
  5. IN folderPublishConfigIdOffset BIGINT(20),
  6. IN siteIdOffset BIGINT(20),
  7. IN channelIdOffset BIGINT(20))
  8. BEGIN
  9. DECLARE isover INT DEFAULT 0;
  10. DECLARE migr_table_name varchar(255) DEFAULT 'wcmfolderpublishconfig';
  11. DECLARE f_FOLDERPUBLISHCONFIGID int(11) DEFAULT 0;
  12. DECLARE f_FOLDERTYPE int(11) DEFAULT 0;
  13. DECLARE f_FOLDERID int(11) DEFAULT 0;
  14. DECLARE f_OUTLINEFILE varchar(100) DEFAULT NULL;
  15. DECLARE f_DETAILFILEEXT varchar(10) DEFAULT NULL;
  16. DECLARE f_DATAPATH varchar(200) DEFAULT NULL;
  17. DECLARE f_CRUSER varchar(30) DEFAULT NULL;
  18. DECLARE f_CRTIME datetime DEFAULT NULL;
  19. DECLARE f_ROOTDOMAIN varchar(250) DEFAULT NULL;
  20. DECLARE f_SITELANGUAGE int(11) DEFAULT NULL;
  21. DECLARE f_PAGEENCODING varchar(50) DEFAULT NULL;
  22. DECLARE cur CURSOR FOR
  23. SELECT
  24. FOLDERPUBLISHCONFIGID,
  25. FOLDERTYPE,
  26. FOLDERID,
  27. OUTLINEFILE,
  28. DETAILFILEEXT,
  29. DATAPATH,
  30. CRUSER,
  31. CRTIME,
  32. ROOTDOMAIN,
  33. SITELANGUAGE,
  34. PAGEENCODING
  35. FROM trs_data_migration.wcmfolderpublishconfig
  36. ORDER BY FOLDERPUBLISHCONFIGID asc;
  37. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  38. OPEN cur;
  39. FETCH cur INTO
  40. f_FOLDERPUBLISHCONFIGID,
  41. f_FOLDERTYPE,
  42. f_FOLDERID,
  43. f_OUTLINEFILE,
  44. f_DETAILFILEEXT,
  45. f_DATAPATH,
  46. f_CRUSER,
  47. f_CRTIME,
  48. f_ROOTDOMAIN,
  49. f_SITELANGUAGE,
  50. f_PAGEENCODING
  51. ;
  52. select concat('开始迁移 ', migr_table_name) info;
  53. WHILE isover= 0 DO
  54. # 断点续传
  55. IF (f_FOLDERPUBLISHCONFIGID > prevFolderPublishConfigId)
  56. THEN
  57. SET @FOLDERPUBLISHCONFIGID = f_FOLDERPUBLISHCONFIGID;
  58. SET f_FOLDERPUBLISHCONFIGID = f_FOLDERPUBLISHCONFIGID + folderPublishConfigIdOffset;
  59. IF (f_FOLDERTYPE = 103)
  60. THEN SET f_FOLDERID = f_FOLDERID + siteIdOffset;
  61. END IF ;
  62. IF (f_FOLDERTYPE = 101)
  63. THEN SET f_FOLDERID = f_FOLDERID + channelIdOffset;
  64. END IF ;
  65. insert into trs_hycloud_iip.wcmfolderpublishconfig
  66. (
  67. FOLDERPUBLISHCONFIGID,
  68. FOLDERTYPE,
  69. FOLDERID,
  70. OUTLINEFILE,
  71. DETAILFILEEXT,
  72. DATAPATH,
  73. CRUSER,
  74. CRTIME,
  75. ROOTDOMAIN,
  76. SITELANGUAGE,
  77. PAGEENCODING
  78. )
  79. VALUES
  80. (
  81. f_FOLDERPUBLISHCONFIGID,
  82. f_FOLDERTYPE,
  83. f_FOLDERID,
  84. f_OUTLINEFILE,
  85. f_DETAILFILEEXT,
  86. f_DATAPATH,
  87. f_CRUSER,
  88. f_CRTIME,
  89. f_ROOTDOMAIN,
  90. f_SITELANGUAGE,
  91. f_PAGEENCODING
  92. );
  93. SET @log_sql = trs_data_migration.build_migration_log_sql(migr_table_name, @FOLDERPUBLISHCONFIGID);
  94. prepare stmt from @log_sql;
  95. EXECUTE stmt;
  96. deallocate prepare stmt;
  97. END IF ;
  98. FETCH cur INTO
  99. f_FOLDERPUBLISHCONFIGID,
  100. f_FOLDERTYPE,
  101. f_FOLDERID,
  102. f_OUTLINEFILE,
  103. f_DETAILFILEEXT,
  104. f_DATAPATH,
  105. f_CRUSER,
  106. f_CRTIME,
  107. f_ROOTDOMAIN,
  108. f_SITELANGUAGE,
  109. f_PAGEENCODING
  110. ;
  111. END WHILE;
  112. CLOSE cur;
  113. select concat('完成迁移 ', migr_table_name) info;
  114. END $$
  115. DELIMITER ;