00_Preprocessing.sql 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. -- 删除不好,不能在原库运行,改用创建中间表的方式,减小迁移数据量,加速迁移
  2. -- 需求场景:按站点迁移一个节点,须保留的站点id人工整理
  3. -- 创建所需的中间表
  4. drop table if exists exchange_appendix;
  5. create table exchange_appendix like wcmappendix;
  6. drop table if exists exchange_channel;
  7. create table exchange_channel like wcmchannel;
  8. drop table if exists exchange_channelchildindexquote;
  9. create table exchange_channelchildindexquote like wcmchannelchildindexquote;
  10. drop table if exists exchange_channelsyn;
  11. create table exchange_channelsyn like wcmchannelsyn;
  12. drop table if exists exchange_chnldoc;
  13. create table exchange_chnldoc like wcmchnldoc;
  14. drop table if exists exchange_document;
  15. create table exchange_document like wcmdocument;
  16. drop table if exists exchange_folderpublishconfig;
  17. create table exchange_folderpublishconfig like wcmfolderpublishconfig;
  18. drop table if exists exchange_template;
  19. create table exchange_template like wcmtemplate;
  20. drop table if exists exchange_templateargument;
  21. create table exchange_templateargument like wcmtemplateargument;
  22. drop table if exists exchange_templateemploy;
  23. create table exchange_templateemploy like wcmtemplateemploy;
  24. drop table if exists exchange_templatenest;
  25. create table exchange_templatenest like wcmtemplatenest;
  26. drop table if exists exchange_templatequote;
  27. create table exchange_templatequote like wcmtemplatequote;
  28. drop table if exists exchange_website;
  29. create table exchange_website like wcmwebsite;
  30. drop table if exists exchange_classinfo;
  31. create table exchange_classinfo like xwcmclassinfo;
  32. drop table if exists exchange_classinfoview;
  33. create table exchange_classinfoview like xwcmclassinfoview;
  34. drop table if exists exchange_dbfieldinfo;
  35. create table exchange_dbfieldinfo like xwcmdbfieldinfo;
  36. drop table if exists exchange_material;
  37. create table exchange_material like xwcmmaterial;
  38. drop table if exists exchange_materialquote;
  39. create table exchange_materialquote like xwcmmaterialquote;
  40. drop table if exists exchange_metaviewemployer;
  41. create table exchange_metaviewemployer like xwcmmetaviewemployer;
  42. drop table if exists exchange_metaviewfieldgroup;
  43. create table exchange_metaviewfieldgroup like xwcmmetaviewfieldgroup;
  44. drop table if exists exchange_tableinfo;
  45. create table exchange_tableinfo like xwcmtableinfo;
  46. drop table if exists exchange_viewfieldinfo;
  47. create table exchange_viewfieldinfo like xwcmviewfieldinfo;
  48. drop table if exists exchange_viewinfo;
  49. create table exchange_viewinfo like xwcmviewinfo;
  50. INSERT INTO exchange_website SELECT * from wcmwebsite where siteid in (
  51. 328,392,332,379,350,341,257,287,289,372,177,217,319,382,349,329,307,317,326,252,383,304,303,369,313,280,264,256,380,352,141,344,267,373,193,188,269,258,358,279,345,312,316,273,261,192,359,140,142,325,301,283,322,388,254,324,315,300,173,262,346,263,137,375,309,334,386,216,268,327,333,293,275,305,351,348,282,308,368,255,387,302,318,163,311,278,271,331,310,265,374,340,272,371,296,260,249,339,335,299,248,274,355,215,253,384,277,290,181,143,198,242,377,259,323,353,285,366,378,314,266,363,336,288,292,284,286,294,276,295,306,298,364,270,390,376,245,367,162,250,337
  52. );
  53. -- 修复部分站点站点不显示问题
  54. UPDATE exchange_website set MEDIATYPE = 1;
  55. -- 删除多余栏目
  56. INSERT INTO exchange_channel SELECT * from wcmchannel where siteId in (SELECT siteId from exchange_website) and status >= 0;
  57. -- 栏目模板触发发布关联关系
  58. INSERT INTO exchange_channelchildindexquote SELECT * from wcmchannelchildindexquote where (FOLDERID IN (SELECT siteId from exchange_website) and FOLDERTYPE = 103) OR (FOLDERID IN (SELECT channelId from exchange_channel) and FOLDERTYPE = 101);
  59. -- 文档分发关系
  60. INSERT INTO exchange_channelsyn SELECT * from wcmchannelsyn where srcchannel in (SELECT channelId from exchange_channel) and tochannel in (SELECT channelId from exchange_channel);
  61. -- 存放路径
  62. INSERT INTO exchange_folderpublishconfig SELECT * from wcmfolderpublishconfig where (FOLDERID IN (SELECT siteId from exchange_website) and FOLDERTYPE = 103) OR (FOLDERID IN (SELECT channelId from exchange_channel) and FOLDERTYPE = 101);
  63. -- 多余模板
  64. INSERT INTO exchange_template SELECT * from wcmtemplate where rootid = 0 or rootid in (SELECT siteId from exchange_website);
  65. -- 模板变量
  66. INSERT INTO exchange_templateargument SELECT * from wcmtemplateargument where TEMPLATEID in (SELECT TEMPID from exchange_template);
  67. -- 模板栏目绑定关系
  68. INSERT INTO exchange_templateemploy SELECT * from wcmtemplateemploy WHERE (TEMPLATEID in (SELECT TEMPID from exchange_template)) or (EMPLOYERID IN (SELECT siteId from exchange_website) and EMPLOYERTYPE = 103) OR (EMPLOYERID IN (SELECT channelId from exchange_channel) and EMPLOYERTYPE = 101);
  69. -- 嵌套模板信息
  70. INSERT INTO exchange_templatenest SELECT * from wcmtemplatenest WHERE (templateId in (SELECT TEMPID from exchange_template)) and (nestedtemplateId in (SELECT TEMPID from exchange_template));
  71. -- 模板引用信息
  72. INSERT INTO exchange_templatequote SELECT * from wcmtemplatequote WHERE (templateId in (SELECT TEMPID from exchange_template)) or (quotedFolderId in (SELECT CHANNELID from exchange_channel) and quotedFolderType = 101) or (quotedFolderId in (SELECT siteId from exchange_website) and quotedFolderType = 103);
  73. -- 栏目绑定的视图
  74. INSERT INTO exchange_metaviewemployer SELECT * from xwcmmetaviewemployer where CHANNELID in (SELECT CHANNELID from exchange_channel);
  75. -- 视图信息
  76. INSERT INTO exchange_viewinfo SELECT * from xwcmviewinfo where VIEWINFOID in (SELECT VIEWID from exchange_metaviewemployer);
  77. -- 视图字段信息
  78. INSERT INTO exchange_viewfieldinfo SELECT * from xwcmviewfieldinfo where VIEWID in (SELECT viewinfoid from exchange_viewinfo);
  79. INSERT INTO exchange_metaviewfieldgroup SELECT * from xwcmmetaviewfieldgroup where metaviewid in (SELECT viewinfoid from exchange_viewinfo);
  80. -- 元数据表信息
  81. INSERT INTO exchange_tableinfo SELECT * from xwcmtableinfo where TABLEINFOID in (SELECT MAINTABLEID from exchange_viewinfo);
  82. INSERT INTO exchange_dbfieldinfo SELECT * from xwcmdbfieldinfo where TABLEID in (SELECT TABLEINFOID from exchange_tableinfo);
  83. -- --------数据记录
  84. INSERT INTO exchange_chnldoc SELECT * from wcmchnldoc WHERE CHNLID in (SELECT CHANNELID from exchange_channel);
  85. -- exchange_chnldoc
  86. INSERT INTO exchange_document SELECT * from wcmdocument WHERE docchannel in (SELECT CHANNELID from exchange_channel);
  87. -- xwcmmaterialquote记录
  88. INSERT INTO exchange_materialquote SELECT * from xwcmmaterialquote WHERE DOCID in (SELECT DOCID from exchange_document);
  89. -- xwcmmaterial记录
  90. INSERT INTO exchange_material SELECT * from xwcmmaterial WHERE materialId in (SELECT materialId from exchange_materialquote);
  91. -- metatable
  92. DROP TABLE IF EXISTS exchange_metatableldr;
  93. DROP TABLE IF EXISTS exchange_metatableGovInfo;
  94. DROP TABLE IF EXISTS exchange_metatablezxft;
  95. DROP TABLE IF EXISTS exchange_metatablelyd;
  96. DROP TABLE IF EXISTS exchange_metatabledlgg;
  97. DROP TABLE IF EXISTS exchange_metatableGXZZZS;
  98. DROP TABLE IF EXISTS exchange_metatabletjsj;
  99. create table exchange_metatableldr like wcmmetatableldr;
  100. create table exchange_metatableGovInfo like wcmmetatableGovInfo;
  101. create table exchange_metatablezxft like wcmmetatablezxft;
  102. create table exchange_metatablelyd like wcmmetatablelyd;
  103. create table exchange_metatabledlgg like wcmmetatabledlgg;
  104. create table exchange_metatableGXZZZS like wcmmetatableGXZZZS;
  105. create table exchange_metatabletjsj like wcmmetatabletjsj;
  106. INSERT INTO exchange_metatableldr select * from wcmmetatableldr where metadataId in (select docid from exchange_chnldoc);
  107. INSERT INTO exchange_metatableGovInfo select * from wcmmetatableGovInfo where metadataId in (select docid from exchange_chnldoc);
  108. INSERT INTO exchange_metatablezxft select * from wcmmetatablezxft where metadataId in (select docid from exchange_chnldoc);
  109. INSERT INTO exchange_metatablelyd select * from wcmmetatablelyd where metadataId in (select docid from exchange_chnldoc);
  110. INSERT INTO exchange_metatabledlgg select * from wcmmetatabledlgg where metadataId in (select docid from exchange_chnldoc);
  111. INSERT INTO exchange_metatableGXZZZS select * from wcmmetatableGXZZZS where metadataId in (select docid from exchange_chnldoc);
  112. INSERT INTO exchange_metatabletjsj select * from wcmmetatabletjsj where metadataId in (select docid from exchange_chnldoc);
  113. SELECT CONCAT('DROP TABLE IF EXISTS exchange_metatable',TABLENAME,';') from exchange_tableinfo;
  114. SELECT CONCAT('create table exchange_metatable',TABLENAME,' like wcmmetatable',TABLENAME ,';') from exchange_tableinfo;
  115. SELECT CONCAT('INSERT INTO exchange_metatable',TABLENAME,' select * from wcmmetatable',TABLENAME ,' where metadataId in (select docid from exchange_document);') from exchange_tableinfo;