3_sp_data_migration_wcmwebsite.sql 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. DROP PROCEDURE IF EXISTS sp_data_migration_wcmwebsite;
  2. DELIMITER $$
  3. CREATE PROCEDURE sp_data_migration_wcmwebsite(IN citySuffix VARCHAR(255), IN prevSiteId BIGINT(20), IN siteIdOffset BIGINT(20))
  4. BEGIN
  5. DECLARE isover INT DEFAULT 0;
  6. DECLARE v_classificationId INT DEFAULT 0;
  7. DECLARE migr_table_name varchar(255) DEFAULT 'wcmwebsite';
  8. DECLARE f_SITEID int(11) DEFAULT 0;
  9. DECLARE f_SITENAME varchar(200) DEFAULT 0;
  10. DECLARE f_SITEDESC varchar(200) DEFAULT NULL;
  11. DECLARE f_FTPSERVER varchar(200) DEFAULT NULL;
  12. DECLARE f_FTPUSER varchar(50) DEFAULT NULL;
  13. DECLARE f_FTPPASSWORD varchar(50) DEFAULT NULL;
  14. DECLARE f_FTPFOLDER varchar(200) DEFAULT NULL;
  15. DECLARE f_DATAPATH varchar(200) DEFAULT NULL;
  16. DECLARE f_WEBHTTP varchar(200) DEFAULT NULL;
  17. DECLARE f_SITEPROP int(11) DEFAULT NULL;
  18. DECLARE f_PARENTID int(11) DEFAULT NULL;
  19. DECLARE f_SITEORDER int(11) DEFAULT 0;
  20. DECLARE f_ATTRIBUTE varchar(500) DEFAULT NULL;
  21. DECLARE f_HOMETEMPLATEID int(11) DEFAULT NULL;
  22. DECLARE f_SITEORDERBY varchar(200) DEFAULT NULL;
  23. DECLARE f_CRUSER varchar(50) DEFAULT NULL;
  24. DECLARE f_CRTIME datetime DEFAULT NULL;
  25. DECLARE f_PUBSTATUSES varchar(200) DEFAULT NULL;
  26. DECLARE f_SCHEDULE int(11) DEFAULT 0;
  27. DECLARE f_STATUS int(11) DEFAULT 0;
  28. DECLARE f_PUBLISHPRO smallint(6) DEFAULT 1;
  29. DECLARE f_OPERUSER varchar(50) DEFAULT NULL;
  30. DECLARE f_OPERTIME datetime DEFAULT NULL;
  31. DECLARE f_SITETYPE int(11) DEFAULT 0;
  32. DECLARE f_lastmodifytime datetime DEFAULT NULL;
  33. DECLARE f_ISMOBILE int(11) DEFAULT 0;
  34. DECLARE f_BASEPROPS varchar(300) DEFAULT NULL;
  35. DECLARE f_OTHERPROPS varchar(300) DEFAULT NULL;
  36. DECLARE f_ADVANCEPROPS varchar(300) DEFAULT NULL;
  37. DECLARE f_VIEWPROPS varchar(300) DEFAULT NULL;
  38. DECLARE f_NEEDEDPROPS varchar(300) DEFAULT NULL;
  39. DECLARE f_MediaType int(11) DEFAULT 1;
  40. DECLARE f_IsSubscribe smallint(6) DEFAULT 0;
  41. DECLARE f_ISPUSHABLE tinyint(4) DEFAULT 0 ;
  42. DECLARE f_ISDISTRIBUTABLE tinyint(4) DEFAULT 0 ;
  43. DECLARE f_OUTLINETEMPLATE int(11) DEFAULT 0;
  44. DECLARE f_CHNLOUTLINETEMP int(11) DEFAULT 0;
  45. DECLARE f_DETAILTEMPLATE int(11) DEFAULT 0;
  46. DECLARE f_SITEDESCPINYIN varchar(254) DEFAULT NULL;
  47. DECLARE f_IDXPREFIX varchar(30) DEFAULT NULL ;
  48. DECLARE f_AUTOCHECK tinyint(4) DEFAULT 0 ;
  49. DECLARE cur CURSOR FOR
  50. SELECT
  51. SITEID,
  52. SITENAME,
  53. SITEDESC,
  54. FTPSERVER,
  55. FTPUSER,
  56. FTPPASSWORD,
  57. FTPFOLDER,
  58. DATAPATH,
  59. WEBHTTP,
  60. SITEPROP,
  61. PARENTID,
  62. SITEORDER,
  63. ATTRIBUTE,
  64. HOMETEMPLATEID,
  65. SITEORDERBY,
  66. CRUSER,
  67. CRTIME,
  68. PUBSTATUSES,
  69. SCHEDULE,
  70. STATUS,
  71. PUBLISHPRO,
  72. OPERUSER,
  73. OPERTIME,
  74. SITETYPE,
  75. lastmodifytime,
  76. ISMOBILE,
  77. BASEPROPS,
  78. OTHERPROPS,
  79. ADVANCEPROPS,
  80. VIEWPROPS,
  81. NEEDEDPROPS,
  82. MediaType,
  83. 0,
  84. 0,
  85. 0,
  86. 0,
  87. 0,
  88. 0,
  89. null,
  90. null,
  91. 0
  92. FROM wcmwebsite
  93. ORDER BY siteid asc;
  94. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  95. OPEN cur;
  96. FETCH cur INTO
  97. f_SITEID,
  98. f_SITENAME,
  99. f_SITEDESC,
  100. f_FTPSERVER,
  101. f_FTPUSER,
  102. f_FTPPASSWORD,
  103. f_FTPFOLDER,
  104. f_DATAPATH,
  105. f_WEBHTTP,
  106. f_SITEPROP,
  107. f_PARENTID,
  108. f_SITEORDER,
  109. f_ATTRIBUTE,
  110. f_HOMETEMPLATEID,
  111. f_SITEORDERBY,
  112. f_CRUSER,
  113. f_CRTIME,
  114. f_PUBSTATUSES,
  115. f_SCHEDULE,
  116. f_STATUS,
  117. f_PUBLISHPRO,
  118. f_OPERUSER,
  119. f_OPERTIME,
  120. f_SITETYPE,
  121. f_lastmodifytime,
  122. f_ISMOBILE,
  123. f_BASEPROPS,
  124. f_OTHERPROPS,
  125. f_ADVANCEPROPS,
  126. f_VIEWPROPS,
  127. f_NEEDEDPROPS,
  128. f_MediaType,
  129. f_IsSubscribe,
  130. f_ISPUSHABLE,
  131. f_ISDISTRIBUTABLE,
  132. f_OUTLINETEMPLATE,
  133. f_CHNLOUTLINETEMP,
  134. f_DETAILTEMPLATE,
  135. f_SITEDESCPINYIN,
  136. f_IDXPREFIX,
  137. f_AUTOCHECK
  138. ;
  139. select concat('开始迁移 ', migr_table_name) info;
  140. # 新建站点分类
  141. SET @metaTableExists = IFNULL((SELECT count(1) from trs_hycloud_iip.wcmclassification where CNAME = concat('贵州迁移站点_', citySuffix)), 0);
  142. if @metaTableExists = 0
  143. then
  144. SELECT ifnull(max(classificationId), 0) into v_classificationId from trs_hycloud_iip.wcmclassification;
  145. #select v_classificationId;
  146. SET @saveClassification_sql = concat('insert into ',
  147. 'trs_hycloud_iip.wcmclassification (',
  148. 'CLASSIFICATIONID,',
  149. 'CNAME,',
  150. 'CSHORTNAME,',
  151. 'CTYPE',
  152. ') ',
  153. 'values(',
  154. (v_classificationId + 1), ',',
  155. '\'', '贵州迁移站点_', citySuffix, '\',',
  156. '\'', right(citySuffix, 5), '\',',
  157. '11',
  158. ') ');
  159. prepare stmt from @saveClassification_sql;
  160. EXECUTE stmt;
  161. deallocate prepare stmt;
  162. else
  163. SELECT ifnull(max(classificationId), 0) into v_classificationId from trs_hycloud_iip.wcmclassification where CNAME = concat('贵州迁移站点_', citySuffix);
  164. end if;
  165. WHILE isover= 0 DO
  166. # 支持断点续传
  167. IF (f_SITEID > prevSiteId)
  168. THEN
  169. SET @SITEID = f_SITEID;
  170. SET f_SITEID = f_SITEID + siteIdOffset;
  171. insert into trs_hycloud_iip.wcmwebsite
  172. (
  173. SITEID,
  174. SITENAME,
  175. SITEDESC,
  176. FTPSERVER,
  177. FTPUSER,
  178. FTPPASSWORD,
  179. FTPFOLDER,
  180. DATAPATH,
  181. WEBHTTP,
  182. SITEPROP,
  183. PARENTID,
  184. SITEORDER,
  185. ATTRIBUTE,
  186. HOMETEMPLATEID,
  187. SITEORDERBY,
  188. CRUSER,
  189. CRTIME,
  190. PUBSTATUSES,
  191. SCHEDULE,
  192. STATUS,
  193. PUBLISHPRO,
  194. OPERUSER,
  195. OPERTIME,
  196. SITETYPE,
  197. lastmodifytime,
  198. ISMOBILE,
  199. BASEPROPS,
  200. OTHERPROPS,
  201. ADVANCEPROPS,
  202. VIEWPROPS,
  203. NEEDEDPROPS,
  204. MediaType,
  205. IsSubscribe,
  206. ISPUSHABLE,
  207. ISDISTRIBUTABLE,
  208. OUTLINETEMPLATE,
  209. CHNLOUTLINETEMP,
  210. DETAILTEMPLATE,
  211. SITEDESCPINYIN,
  212. IDXPREFIX,
  213. AUTOCHECK
  214. )
  215. VALUES
  216. (
  217. f_SITEID,
  218. f_SITENAME,
  219. f_SITEDESC,
  220. f_FTPSERVER,
  221. f_FTPUSER,
  222. f_FTPPASSWORD,
  223. f_FTPFOLDER,
  224. f_DATAPATH,
  225. f_WEBHTTP,
  226. f_SITEPROP,
  227. f_PARENTID,
  228. f_SITEORDER,
  229. f_ATTRIBUTE,
  230. f_HOMETEMPLATEID,
  231. f_SITEORDERBY,
  232. f_CRUSER,
  233. f_CRTIME,
  234. f_PUBSTATUSES,
  235. f_SCHEDULE,
  236. f_STATUS,
  237. f_PUBLISHPRO,
  238. f_OPERUSER,
  239. f_OPERTIME,
  240. f_SITETYPE,
  241. f_lastmodifytime,
  242. f_ISMOBILE,
  243. f_BASEPROPS,
  244. f_OTHERPROPS,
  245. f_ADVANCEPROPS,
  246. f_VIEWPROPS,
  247. f_NEEDEDPROPS,
  248. f_MediaType,
  249. f_IsSubscribe,
  250. f_ISPUSHABLE,
  251. f_ISDISTRIBUTABLE,
  252. f_OUTLINETEMPLATE,
  253. f_CHNLOUTLINETEMP,
  254. f_DETAILTEMPLATE,
  255. f_SITEDESCPINYIN,
  256. f_IDXPREFIX,
  257. f_AUTOCHECK
  258. );
  259. SET @log_sql = build_migration_log_sql(migr_table_name, @SITEID, now());
  260. prepare stmt from @log_sql;
  261. EXECUTE stmt;
  262. deallocate prepare stmt;
  263. call setOffset(migr_table_name, siteIdOffset, prevSiteId, @SITEID);
  264. # 插入 站点分类-站点 关系数据
  265. set @classificationObjId = (SELECT ifnull(max(classificationObjId), 0) from trs_hycloud_iip.wcmclassificationobj);
  266. # select @classificationObjId;
  267. SET @saveClassificationObj_sql = concat('insert into ',
  268. 'trs_hycloud_iip.wcmclassificationobj (',
  269. 'classificationObjId,',
  270. 'classificationId,',
  271. 'objType,',
  272. 'objId',
  273. ') ',
  274. 'values(',
  275. (@classificationObjId + 1), ',',
  276. v_classificationId + 1, ',',
  277. '103,',
  278. f_SITEID,
  279. ') ');
  280. prepare stmt from @saveClassificationObj_sql;
  281. EXECUTE stmt;
  282. deallocate prepare stmt;
  283. set @pubstatusconfigId = (SELECT ifnull(max(WCMPUBSTATUSCONFIGID), 0) from trs_hycloud_iip.wcmpubstatusconfig);
  284. SET @savepubstatusconfig_sql = concat('insert into ',
  285. 'trs_hycloud_iip.wcmpubstatusconfig (',
  286. 'WCMPUBSTATUSCONFIGID,',
  287. 'FOLDERTYPE,',
  288. 'FOLDERID,',
  289. 'STATUSESCANDOPUB,',
  290. 'STATUSIDAFTERMODIFY,',
  291. 'CRUSER,',
  292. 'CRTIME',
  293. ') ',
  294. 'values(',
  295. (@pubstatusconfigId + 1), ',',
  296. '103,',
  297. f_SITEID, ',',
  298. '\'12,10,8,1027\', 1,\'admin\', \'2018-09-20 14:50:31\') ');
  299. prepare stmt from @savepubstatusconfig_sql;
  300. EXECUTE stmt;
  301. deallocate prepare stmt;
  302. END IF ;
  303. FETCH cur INTO
  304. f_SITEID,
  305. f_SITENAME,
  306. f_SITEDESC,
  307. f_FTPSERVER,
  308. f_FTPUSER,
  309. f_FTPPASSWORD,
  310. f_FTPFOLDER,
  311. f_DATAPATH,
  312. f_WEBHTTP,
  313. f_SITEPROP,
  314. f_PARENTID,
  315. f_SITEORDER,
  316. f_ATTRIBUTE,
  317. f_HOMETEMPLATEID,
  318. f_SITEORDERBY,
  319. f_CRUSER,
  320. f_CRTIME,
  321. f_PUBSTATUSES,
  322. f_SCHEDULE,
  323. f_STATUS,
  324. f_PUBLISHPRO,
  325. f_OPERUSER,
  326. f_OPERTIME,
  327. f_SITETYPE,
  328. f_lastmodifytime,
  329. f_ISMOBILE,
  330. f_BASEPROPS,
  331. f_OTHERPROPS,
  332. f_ADVANCEPROPS,
  333. f_VIEWPROPS,
  334. f_NEEDEDPROPS,
  335. f_MediaType,
  336. f_IsSubscribe,
  337. f_ISPUSHABLE,
  338. f_ISDISTRIBUTABLE,
  339. f_OUTLINETEMPLATE,
  340. f_CHNLOUTLINETEMP,
  341. f_DETAILTEMPLATE,
  342. f_SITEDESCPINYIN,
  343. f_IDXPREFIX,
  344. f_AUTOCHECK
  345. ;
  346. END WHILE;
  347. CLOSE cur;
  348. select concat('完成迁移 ', migr_table_name) info;
  349. END $$
  350. DELIMITER ;