3_sp_data_migration_wcmappendix.sql 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. DROP PROCEDURE IF EXISTS sp_data_migration_wcmappendix;
  2. DELIMITER $$
  3. CREATE PROCEDURE sp_data_migration_wcmappendix(IN prevAppendixId BIGINT(20),
  4. IN appendixIdOffset BIGINT(20),
  5. IN docIdOffset BIGINT(20))
  6. BEGIN
  7. DECLARE isover INT DEFAULT 0;
  8. DECLARE migr_table_name varchar(255) DEFAULT 'wcmappendix';
  9. DECLARE doc_migr_table_name varchar(255) DEFAULT 'wcmdocument';
  10. DECLARE f_APPENDIXID int(11) DEFAULT 0;
  11. DECLARE f_APPDOCID int(11) DEFAULT 0;
  12. DECLARE f_APPFILE varchar(255) DEFAULT 0;
  13. DECLARE f_APPFILETYPE int(11) DEFAULT '-1';
  14. DECLARE f_APPDESC varchar(400) DEFAULT NULL;
  15. DECLARE f_APPLINKALT varchar(255) DEFAULT NULL;
  16. DECLARE f_APPSERN int(11) DEFAULT NULL;
  17. DECLARE f_APPPROP int(11) DEFAULT NULL;
  18. DECLARE f_APPFLAG smallint(6) DEFAULT NULL;
  19. DECLARE f_APPTIME datetime DEFAULT NULL;
  20. DECLARE f_APPAUTHOR varchar(100) DEFAULT NULL;
  21. DECLARE f_APPEDITOR varchar(100) DEFAULT NULL;
  22. DECLARE f_ATTRIBUTE varchar(500) DEFAULT NULL;
  23. DECLARE f_USEDVERSIONS decimal(30,0) DEFAULT '1';
  24. DECLARE f_CRUSER varchar(50) DEFAULT NULL;
  25. DECLARE f_CRTIME datetime DEFAULT NULL;
  26. DECLARE f_SRCFILE varchar(400) DEFAULT NULL;
  27. DECLARE f_FILEEXT varchar(20) DEFAULT NULL;
  28. DECLARE f_ISIMPORTTOIMAGELIB int(11) DEFAULT '0';
  29. DECLARE f_RELATEDCOLUMN varchar(200) DEFAULT NULL;
  30. DECLARE f_RELATEPHOTOIDS varchar(100) DEFAULT NULL;
  31. DECLARE f_APPDESC2 varchar(300) DEFAULT NULL;
  32. DECLARE f_ATTRIBUTES varchar(800) DEFAULT NULL;
  33. DECLARE f_AppFromType int(11) DEFAULT '0';
  34. DECLARE f_AppFromId int(11) DEFAULT '0';
  35. DECLARE cur CURSOR FOR
  36. SELECT
  37. APPENDIXID,
  38. APPDOCID,
  39. APPFILE,
  40. APPFILETYPE,
  41. APPDESC,
  42. APPLINKALT,
  43. APPSERN,
  44. APPPROP,
  45. APPFLAG,
  46. APPTIME,
  47. APPAUTHOR,
  48. APPEDITOR,
  49. ATTRIBUTE,
  50. USEDVERSIONS,
  51. CRUSER,
  52. CRTIME,
  53. SRCFILE,
  54. FILEEXT,
  55. ISIMPORTTOIMAGELIB,
  56. RELATEDCOLUMN,
  57. RELATEPHOTOIDS,
  58. APPDESC2,
  59. ATTRIBUTES,
  60. 0,
  61. 0
  62. FROM wcmappendix
  63. ORDER BY APPENDIXID asc;
  64. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  65. OPEN cur;
  66. FETCH cur INTO
  67. f_APPENDIXID,
  68. f_APPDOCID,
  69. f_APPFILE,
  70. f_APPFILETYPE,
  71. f_APPDESC,
  72. f_APPLINKALT,
  73. f_APPSERN,
  74. f_APPPROP,
  75. f_APPFLAG,
  76. f_APPTIME,
  77. f_APPAUTHOR,
  78. f_APPEDITOR,
  79. f_ATTRIBUTE,
  80. f_USEDVERSIONS,
  81. f_CRUSER,
  82. f_CRTIME,
  83. f_SRCFILE,
  84. f_FILEEXT,
  85. f_ISIMPORTTOIMAGELIB,
  86. f_RELATEDCOLUMN,
  87. f_RELATEPHOTOIDS,
  88. f_APPDESC2,
  89. f_ATTRIBUTES,
  90. f_AppFromType,
  91. f_AppFromId
  92. ;
  93. select concat('开始迁移 ', migr_table_name) info;
  94. WHILE isover = 0 DO
  95. # 断点续传
  96. IF (f_APPENDIXID > prevAppendixId)
  97. THEN
  98. SET @APPENDIXID = f_APPENDIXID;
  99. SET f_APPENDIXID = f_APPENDIXID + appendixIdOffset;
  100. SET @doc_offset_num = ifnull((SELECT offset_num FROM data_migration_offset WHERE table_name = migr_table_name AND start_id < f_APPDOCID and end_id >= f_APPDOCID), docIdOffset);
  101. SET f_APPDOCID = f_APPDOCID + @doc_offset_num;
  102. insert into trs_hycloud_iip.wcmappendix
  103. (
  104. APPENDIXID,
  105. APPDOCID,
  106. APPFILE,
  107. APPFILETYPE,
  108. APPDESC,
  109. APPLINKALT,
  110. APPSERN,
  111. APPPROP,
  112. APPFLAG,
  113. APPTIME,
  114. APPAUTHOR,
  115. APPEDITOR,
  116. ATTRIBUTE,
  117. USEDVERSIONS,
  118. CRUSER,
  119. CRTIME,
  120. SRCFILE,
  121. FILEEXT,
  122. ISIMPORTTOIMAGELIB,
  123. RELATEDCOLUMN,
  124. RELATEPHOTOIDS,
  125. APPDESC2,
  126. ATTRIBUTES,
  127. AppFromType,
  128. AppFromId
  129. )
  130. VALUES
  131. (
  132. f_APPENDIXID,
  133. f_APPDOCID,
  134. f_APPFILE,
  135. f_APPFILETYPE,
  136. f_APPDESC,
  137. f_APPLINKALT,
  138. f_APPSERN,
  139. f_APPPROP,
  140. f_APPFLAG,
  141. f_APPTIME,
  142. f_APPAUTHOR,
  143. f_APPEDITOR,
  144. f_ATTRIBUTE,
  145. f_USEDVERSIONS,
  146. f_CRUSER,
  147. f_CRTIME,
  148. f_SRCFILE,
  149. f_FILEEXT,
  150. f_ISIMPORTTOIMAGELIB,
  151. f_RELATEDCOLUMN,
  152. f_RELATEPHOTOIDS,
  153. f_APPDESC2,
  154. f_ATTRIBUTES,
  155. f_AppFromType,
  156. f_AppFromId
  157. );
  158. SET @log_sql = build_migration_log_sql(migr_table_name, @APPENDIXID, now());
  159. prepare stmt from @log_sql;
  160. EXECUTE stmt;
  161. deallocate prepare stmt;
  162. call setOffset(migr_table_name, appendixIdOffset, prevAppendixId, @APPENDIXID);
  163. END IF ;
  164. FETCH cur INTO
  165. f_APPENDIXID,
  166. f_APPDOCID,
  167. f_APPFILE,
  168. f_APPFILETYPE,
  169. f_APPDESC,
  170. f_APPLINKALT,
  171. f_APPSERN,
  172. f_APPPROP,
  173. f_APPFLAG,
  174. f_APPTIME,
  175. f_APPAUTHOR,
  176. f_APPEDITOR,
  177. f_ATTRIBUTE,
  178. f_USEDVERSIONS,
  179. f_CRUSER,
  180. f_CRTIME,
  181. f_SRCFILE,
  182. f_FILEEXT,
  183. f_ISIMPORTTOIMAGELIB,
  184. f_RELATEDCOLUMN,
  185. f_RELATEPHOTOIDS,
  186. f_APPDESC2,
  187. f_ATTRIBUTES,
  188. f_AppFromType,
  189. f_AppFromId
  190. ;
  191. END WHILE;
  192. CLOSE cur;
  193. select concat('完成迁移 ', migr_table_name) info;
  194. END $$
  195. DELIMITER ;