3_sp_data_migration_xwcmviewfieldinfo.sql 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. DROP PROCEDURE IF EXISTS sp_data_migration_xwcmviewfieldinfo;
  2. DELIMITER $$
  3. CREATE PROCEDURE sp_data_migration_xwcmviewfieldinfo(IN citySuffix VARCHAR(20),
  4. IN prevViewFieldInfoId BIGINT(20),
  5. IN viewFieldInfoIdOffset BIGINT(20),
  6. IN tableInfoIdOffset BIGINT(20),
  7. IN classIdOffset BIGINT(20),
  8. IN dbFieldIdOffset BIGINT(20),
  9. IN fieldGroupIdOffset BIGINT(20),
  10. IN relationViewIdOffset BIGINT(20),
  11. IN viewIdOffset BIGINT(20))
  12. BEGIN
  13. DECLARE isover INT DEFAULT 0;
  14. DECLARE migr_table_name varchar(255) DEFAULT 'xwcmviewfieldinfo';
  15. DECLARE table_migr_table_name varchar(255) DEFAULT 'xwcmtableinfo';
  16. DECLARE class_migr_table_name varchar(255) DEFAULT 'xwcmclassinfo';
  17. DECLARE view_migr_table_name varchar(255) DEFAULT 'xwcmviewinfo';
  18. DECLARE db_migr_table_name varchar(255) DEFAULT 'xwcmdbfieldinfo';
  19. DECLARE f_VIEWFIELDINFOID int(11) DEFAULT NULL;
  20. DECLARE f_TABLENAME varchar(50) DEFAULT NULL;
  21. DECLARE f_TABLEID int(11) DEFAULT '0';
  22. DECLARE f_FIELDNAME varchar(50) DEFAULT NULL;
  23. DECLARE f_DBFIELDNAME varchar(50) DEFAULT NULL;
  24. DECLARE f_DBTYPE int(11) DEFAULT '0';
  25. DECLARE f_DBLENGTH int(11) DEFAULT '0';
  26. DECLARE f_ANOTHERNAME varchar(200) DEFAULT NULL;
  27. DECLARE f_FIELDTYPE int(11) DEFAULT '0';
  28. DECLARE f_DEFAULTVALUE varchar(200) DEFAULT NULL;
  29. DECLARE f_ENMVALUE varchar(1000) DEFAULT NULL;
  30. DECLARE f_NOTNULL smallint(6) DEFAULT NULL;
  31. DECLARE f_CLASSID int(11) DEFAULT '0';
  32. DECLARE f_VIEWID int(11) DEFAULT '0';
  33. DECLARE f_FIELDORDER int(11) DEFAULT '0';
  34. DECLARE f_INOUTLINE smallint(6) DEFAULT NULL;
  35. DECLARE f_INDETAIL smallint(6) DEFAULT '1';
  36. DECLARE f_SEARCHFIELD smallint(6) DEFAULT NULL;
  37. DECLARE f_TITLEFIELD smallint(6) DEFAULT NULL;
  38. DECLARE f_DBFIELD int(11) DEFAULT '0';
  39. DECLARE f_VALIDATOR varchar(200) DEFAULT NULL;
  40. DECLARE f_CRUSER varchar(30) DEFAULT NULL;
  41. DECLARE f_CRTIME datetime DEFAULT NULL;
  42. DECLARE f_FROMMAINTABLE int(11) DEFAULT '1';
  43. DECLARE f_LOCATECHANNEL varchar(100) DEFAULT NULL;
  44. DECLARE f_RADORCHK smallint(6) DEFAULT NULL;
  45. DECLARE f_NOTEDIT smallint(6) DEFAULT '0';
  46. DECLARE f_HIDDENFIELD smallint(6) DEFAULT '0';
  47. DECLARE f_INMULTITABLE smallint(6) DEFAULT '1';
  48. DECLARE f_DBSCALE int(11) DEFAULT '3';
  49. DECLARE f_ATTRIBUTE varchar(500) DEFAULT NULL;
  50. DECLARE f_IDENTITYFIELD smallint(6) DEFAULT NULL;
  51. DECLARE f_LIBFILEDID int(11) DEFAULT NULL;
  52. DECLARE f_FIELDGROUPID int(11) DEFAULT NULL;
  53. DECLARE f_RELATIONVIEWID int(11) DEFAULT '0';
  54. DECLARE f_ISURLFIELD smallint(6) DEFAULT '0';
  55. DECLARE f_EDITSTYLE varchar(10) DEFAULT NULL;
  56. DECLARE f_APPENDIXSELECTLIB varchar(10) DEFAULT NULL;
  57. DECLARE f_APPENDIXNOTUPLOAD varchar(10) DEFAULT NULL;
  58. DECLARE f_FieldWidth varchar(50) DEFAULT NULL;
  59. DECLARE f_FieldClass varchar(300) DEFAULT NULL;
  60. DECLARE f_ISONLYSITE varchar(10) DEFAULT NULL;
  61. DECLARE cur CURSOR FOR
  62. SELECT
  63. VIEWFIELDINFOID,
  64. TABLENAME,
  65. TABLEID,
  66. FIELDNAME,
  67. DBFIELDNAME,
  68. DBTYPE,
  69. DBLENGTH,
  70. ANOTHERNAME,
  71. FIELDTYPE,
  72. DEFAULTVALUE,
  73. ENMVALUE,
  74. NOTNULL,
  75. CLASSID,
  76. VIEWID,
  77. FIELDORDER,
  78. INOUTLINE,
  79. INDETAIL,
  80. SEARCHFIELD,
  81. TITLEFIELD,
  82. DBFIELD,
  83. VALIDATOR,
  84. CRUSER,
  85. CRTIME,
  86. FROMMAINTABLE,
  87. LOCATECHANNEL,
  88. RADORCHK,
  89. NOTEDIT,
  90. HIDDENFIELD,
  91. INMULTITABLE,
  92. DBSCALE,
  93. ATTRIBUTE,
  94. IDENTITYFIELD,
  95. LIBFILEDID,
  96. FIELDGROUPID,
  97. RELATIONVIEWID,
  98. ISURLFIELD,
  99. EDITSTYLE,
  100. APPENDIXSELECTLIB,
  101. APPENDIXNOTUPLOAD,
  102. FieldWidth,
  103. FieldClass,
  104. ISONLYSITE
  105. FROM xwcmviewfieldinfo
  106. ORDER BY VIEWFIELDINFOID asc;
  107. DECLARE CONTINUE HANDLER FOR NOT FOUND SET isover = 1;
  108. OPEN cur;
  109. FETCH cur INTO
  110. f_VIEWFIELDINFOID,
  111. f_TABLENAME,
  112. f_TABLEID,
  113. f_FIELDNAME,
  114. f_DBFIELDNAME,
  115. f_DBTYPE,
  116. f_DBLENGTH,
  117. f_ANOTHERNAME,
  118. f_FIELDTYPE,
  119. f_DEFAULTVALUE,
  120. f_ENMVALUE,
  121. f_NOTNULL,
  122. f_CLASSID,
  123. f_VIEWID,
  124. f_FIELDORDER,
  125. f_INOUTLINE,
  126. f_INDETAIL,
  127. f_SEARCHFIELD,
  128. f_TITLEFIELD,
  129. f_DBFIELD,
  130. f_VALIDATOR,
  131. f_CRUSER,
  132. f_CRTIME,
  133. f_FROMMAINTABLE,
  134. f_LOCATECHANNEL,
  135. f_RADORCHK,
  136. f_NOTEDIT,
  137. f_HIDDENFIELD,
  138. f_INMULTITABLE,
  139. f_DBSCALE,
  140. f_ATTRIBUTE,
  141. f_IDENTITYFIELD,
  142. f_LIBFILEDID,
  143. f_FIELDGROUPID,
  144. f_RELATIONVIEWID,
  145. f_ISURLFIELD,
  146. f_EDITSTYLE,
  147. f_APPENDIXSELECTLIB,
  148. f_APPENDIXNOTUPLOAD,
  149. f_FieldWidth,
  150. f_FieldClass,
  151. f_ISONLYSITE
  152. ;
  153. select concat('开始迁移 ', migr_table_name) info;
  154. WHILE isover= 0 DO
  155. # 断点续传
  156. IF (f_VIEWFIELDINFOID > prevViewFieldInfoId)
  157. THEN
  158. SET @VIEWFIELDINFOID = f_VIEWFIELDINFOID;
  159. SET f_VIEWFIELDINFOID = f_VIEWFIELDINFOID + viewFieldInfoIdOffset;
  160. SET @table_offset_num = ifnull((SELECT offset_num FROM data_migration_offset WHERE table_name = table_migr_table_name AND start_id < f_TABLEID and end_id >= f_TABLEID), 0);
  161. SET f_TABLEID = f_TABLEID + @table_offset_num;
  162. SET @class_offset_num = ifnull((SELECT offset_num FROM data_migration_offset WHERE table_name = class_migr_table_name AND start_id < f_CLASSID and end_id >= f_CLASSID), 0);
  163. SET f_CLASSID = f_CLASSID + @class_offset_num;
  164. SET @view_offset_num = ifnull((SELECT offset_num FROM data_migration_offset WHERE table_name = view_migr_table_name AND start_id < f_VIEWID and end_id >= f_VIEWID), 0);
  165. SET f_VIEWID = f_VIEWID + @view_offset_num;
  166. SET @db_offset_num = ifnull((SELECT offset_num FROM data_migration_offset WHERE table_name = db_migr_table_name AND start_id < f_DBFIELD and end_id >= f_DBFIELD), 0);
  167. SET f_DBFIELD = f_DBFIELD + @db_offset_num;
  168. -- SET f_LIBFILEDID = f_LIBFILEDID + ;
  169. SET f_FIELDGROUPID = ifnull((SELECT METAVIEWFIELDGROUPID FROM trs_hycloud_iip.xwcmmetaviewfieldgroup WHERE METAVIEWID = f_VIEWID AND GROUPNAME = '基本属性'), 0);
  170. SET @ralation_offset_num = ifnull((SELECT offset_num FROM data_migration_offset WHERE table_name = view_migr_table_name AND start_id < f_RELATIONVIEWID and end_id >= f_RELATIONVIEWID), 0);
  171. SET f_RELATIONVIEWID = f_RELATIONVIEWID + @ralation_offset_num;
  172. insert into trs_hycloud_iip.xwcmviewfieldinfo
  173. (
  174. VIEWFIELDINFOID,
  175. TABLENAME,
  176. TABLEID,
  177. FIELDNAME,
  178. DBFIELDNAME,
  179. DBTYPE,
  180. DBLENGTH,
  181. ANOTHERNAME,
  182. FIELDTYPE,
  183. DEFAULTVALUE,
  184. ENMVALUE,
  185. NOTNULL,
  186. CLASSID,
  187. VIEWID,
  188. FIELDORDER,
  189. INOUTLINE,
  190. INDETAIL,
  191. SEARCHFIELD,
  192. TITLEFIELD,
  193. DBFIELD,
  194. VALIDATOR,
  195. CRUSER,
  196. CRTIME,
  197. FROMMAINTABLE,
  198. LOCATECHANNEL,
  199. RADORCHK,
  200. NOTEDIT,
  201. HIDDENFIELD,
  202. INMULTITABLE,
  203. DBSCALE,
  204. ATTRIBUTE,
  205. IDENTITYFIELD,
  206. LIBFILEDID,
  207. FIELDGROUPID,
  208. RELATIONVIEWID,
  209. ISURLFIELD,
  210. EDITSTYLE,
  211. APPENDIXSELECTLIB,
  212. APPENDIXNOTUPLOAD,
  213. FieldWidth,
  214. FieldClass,
  215. ISONLYSITE
  216. )
  217. VALUES
  218. (
  219. f_VIEWFIELDINFOID,
  220. concat(f_TABLENAME, citySuffix),
  221. f_TABLEID,
  222. f_FIELDNAME,
  223. f_DBFIELDNAME,
  224. f_DBTYPE,
  225. f_DBLENGTH,
  226. f_ANOTHERNAME,
  227. f_FIELDTYPE,
  228. f_DEFAULTVALUE,
  229. f_ENMVALUE,
  230. f_NOTNULL,
  231. f_CLASSID,
  232. f_VIEWID,
  233. f_FIELDORDER,
  234. f_INOUTLINE,
  235. f_INDETAIL,
  236. f_SEARCHFIELD,
  237. f_TITLEFIELD,
  238. f_DBFIELD,
  239. f_VALIDATOR,
  240. f_CRUSER,
  241. f_CRTIME,
  242. f_FROMMAINTABLE,
  243. f_LOCATECHANNEL,
  244. f_RADORCHK,
  245. f_NOTEDIT,
  246. f_HIDDENFIELD,
  247. f_INMULTITABLE,
  248. f_DBSCALE,
  249. f_ATTRIBUTE,
  250. f_IDENTITYFIELD,
  251. f_LIBFILEDID,
  252. f_FIELDGROUPID,
  253. f_RELATIONVIEWID,
  254. f_ISURLFIELD,
  255. f_EDITSTYLE,
  256. f_APPENDIXSELECTLIB,
  257. f_APPENDIXNOTUPLOAD,
  258. f_FieldWidth,
  259. f_FieldClass,
  260. f_ISONLYSITE
  261. );
  262. SET @log_sql = build_migration_log_sql(migr_table_name, @VIEWFIELDINFOID, now());
  263. prepare stmt from @log_sql;
  264. EXECUTE stmt;
  265. deallocate prepare stmt;
  266. call setOffset(migr_table_name, viewFieldInfoIdOffset, prevViewFieldInfoId, @VIEWFIELDINFOID);
  267. END IF ;
  268. FETCH cur INTO
  269. f_VIEWFIELDINFOID,
  270. f_TABLENAME,
  271. f_TABLEID,
  272. f_FIELDNAME,
  273. f_DBFIELDNAME,
  274. f_DBTYPE,
  275. f_DBLENGTH,
  276. f_ANOTHERNAME,
  277. f_FIELDTYPE,
  278. f_DEFAULTVALUE,
  279. f_ENMVALUE,
  280. f_NOTNULL,
  281. f_CLASSID,
  282. f_VIEWID,
  283. f_FIELDORDER,
  284. f_INOUTLINE,
  285. f_INDETAIL,
  286. f_SEARCHFIELD,
  287. f_TITLEFIELD,
  288. f_DBFIELD,
  289. f_VALIDATOR,
  290. f_CRUSER,
  291. f_CRTIME,
  292. f_FROMMAINTABLE,
  293. f_LOCATECHANNEL,
  294. f_RADORCHK,
  295. f_NOTEDIT,
  296. f_HIDDENFIELD,
  297. f_INMULTITABLE,
  298. f_DBSCALE,
  299. f_ATTRIBUTE,
  300. f_IDENTITYFIELD,
  301. f_LIBFILEDID,
  302. f_FIELDGROUPID,
  303. f_RELATIONVIEWID,
  304. f_ISURLFIELD,
  305. f_EDITSTYLE,
  306. f_APPENDIXSELECTLIB,
  307. f_APPENDIXNOTUPLOAD,
  308. f_FieldWidth,
  309. f_FieldClass,
  310. f_ISONLYSITE
  311. ;
  312. END WHILE;
  313. CLOSE cur;
  314. select concat('完成迁移 ', migr_table_name) info;
  315. END $$
  316. DELIMITER ;