Browse Source

数据迁移的存储过程[4]

lin.chen 7 years ago
parent
commit
56adf9fe31

+ 58 - 2
TRS.WCM.Developer/sp/call_p.sql

@@ -2,12 +2,68 @@
 pager cat >> /tmp/p_data_migration.log;
 
 
+# 支持断点续传,上一次迁移的最后一个 xx ID
+SET @prevSiteId = 0;
+SET @prevChannelId = 0;
+SET @prevRecId = 0;
 SET @prevDocId = 0;
 SET @prevChannelSynId = 0;
-SET @channelSynIdOffset = 0;
+SET @prevFolderPublishConfigId = 0;
+SET @prevTemplateId = 0;
+SET @prevTemplateArgId = 0;
+SET @prevTemplateEmployId = 0;
+SET @prevTemplateNestId = 0;
+SET @prevTemplateQuoteId = 0;
+SET @prevClassInfoId = 0;
+SET @prevClassInfoViewId = 0;
+SET @prevFieldId = 0;
+SET @prevMetaViewEmployerId = 0;
+SET @prevTableInfoId = 0;
+SET @prevViewFieldId = 0;
+SET @prevViewId = 0;
+
+# xx ID 偏移量,为了和海云系统中的 xx ID 错开一段距离
+SET @siteIdOffset = 0;
 SET @channelIdOffset = 0;
+SET @channelSynIdOffset = 0;
+SET @templateIdOffset = 0;
+SET @recIdOffset = 0;
+SET @docIdOffset = 0;
+SET @viewIdOffset = 0;
+SET @folderPublishConfigIdOffset = 0;
+SET @templateArgIdOffset = 0;
+SET @templateEmployIdOffset = 0;
+SET @templateNestIdOffset = 0;
+SET @templateQuoteIdOffset = 0;
+SET @classInfoIdOffset = 0;
+SET @metaDataIdOffset = 0;
+SET @fieldIdOffset = 0;
+SET @classIdOffset = 0; #TODO
+SET @tableInfoIdOffset = 0;
+SET @metaViewEmployerIdOffset = 0;
+SET @viewFieldIdOffset = 0;
+SET @dbFieldIdOffset = 0;
+SET @fieldGroupIdOffset = 0;
 
-call p_data_migration_wcmdocument(@prevDocId);
+call p_data_migration_wcmchannel(@prevChannelId, @siteIdOffset, @channelIdOffset);
+call p_data_migration_wcmchannelchildindexquote(@templateIdOffset, @siteIdOffset, @channelIdOffset);
 call p_data_migration_wcmchannelsyn(@prevChannelSynId, @channelSynIdOffset, @channelIdOffset);
+call p_data_migration_wcmchnldoc(@prevRecId, @recIdOffset, @prevDocId, @siteIdOffset, @channelIdOffset);
+call p_data_migration_wcmdocument(@prevDocId, @prevDocId, @viewIdOffset, @siteIdOffset, @channelIdOffset);
+call p_data_migration_wcmfolderpublishconfig(@prevFolderPublishConfigId, @folderPublishConfigIdOffset, @siteIdOffset, @channelIdOffset);
+call p_data_migration_wcmmetatable('wcmmetatable', @prevDocId, @docIdOffset, @channelIdOffset);
+call p_data_migration_wcmtemplate(@prevTemplateId, @templateIdOffset, @siteIdOffset, @channelIdOffset);
+call p_data_migration_wcmtemplateargument(@prevTemplateArgId, @templateArgIdOffset, @siteIdOffset, @channelIdOffset);
+call p_data_migration_wcmtemplateemploy(@prevTemplateEmployId, @templateEmployIdOffset, @siteIdOffset, @channelIdOffset);
+call p_data_migration_wcmtemplatenest(@prevTemplateNestId, @templateNestIdOffset);
+call p_data_migration_wcmtemplatequote(@prevTemplateQuoteId, @templateQuoteIdOffset, @siteIdOffset, @channelIdOffset);
+call p_data_migration_wcmwebsite(@prevSiteId, @siteIdOffset);
+call p_data_migration_xwcmclassinfo(@prevClassInfoId, @classInfoIdOffset);
+call p_data_migration_xwcmclassinfoview(@prevClassInfoViewId, @classInfoIdOffset, @metaDataIdOffset, @viewIdOffset);
+call p_data_migration_xwcmdbinfo(@prevFieldId, @fieldIdOffset, @classIdOffset, @tableInfoIdOffset);
+call p_data_migration_xwcmmetaviewemployer(@prevMetaViewEmployerId, @metaViewEmployerIdOffset, @channelIdOffset);
+call p_data_migration_xwcmtableinfo(@prevTableInfoId, @tableInfoIdOffset);
+call p_data_migration_xwcmviewfieldinfo(@prevViewFieldId, @viewFieldIdOffset, @tableInfoIdOffset, @classIdOffset, @dbFieldIdOffset, @fieldGroupIdOffset, @viewIdOffset, @viewIdOffset);
+call p_data_migration_xwcmviewinfo(@prevViewId, @viewIdOffset, @metaDataIdOffset);
 
 nopager;

+ 4 - 4
TRS.WCM.Developer/sp/p_data_migration_wcmchannel.sql

@@ -2,8 +2,8 @@
 DROP PROCEDURE IF EXISTS p_data_migration_wcmchannel;
 DELIMITER $$
 CREATE PROCEDURE p_data_migration_wcmchannel(IN prevChnlId BIGINT(20),
-                                              IN baseSiteId BIGINT(20),
-                                              IN baseChannelId BIGINT(20))
+                                              IN siteIdOffset BIGINT(20),
+                                              IN channelIdOffset BIGINT(20))
 	BEGIN 
 	
 	DECLARE over INT DEFAULT 0;
@@ -183,8 +183,8 @@ CREATE PROCEDURE p_data_migration_wcmchannel(IN prevChnlId BIGINT(20),
         THEN
 
             SET @CHANNELID = f_CHANNELID;
-            SET f_CHANNELID = f_CHANNELID + baseChannelId;
-            SET f_SITEID = f_SITEID + baseSiteId;
+            SET f_CHANNELID = f_CHANNELID + channelIdOffset;
+            SET f_SITEID = f_SITEID + siteIdOffset;
 
             insert into trs_hycloud_iip.wcmchannel
               (

+ 2 - 2
TRS.WCM.Developer/sp/p_data_migration_wcmchnldoc.sql

@@ -3,9 +3,9 @@ DROP PROCEDURE IF EXISTS p_data_migration_wcmchnldoc;
 DELIMITER $$
 CREATE PROCEDURE p_data_migration_wcmchnldoc(IN prevRecId BIGINT(20),
                                                   IN recIdOffset BIGINT(20),
-                                                  IN channelIdOffset BIGINT(20),
+                                                  IN docIdOffset BIGINT(20),
                                                   IN siteIdOffset BIGINT(20),
-                                                  IN docIdOffset BIGINT(20))
+                                                  IN channelIdOffset BIGINT(20))
 	BEGIN
 	
     DECLARE over INT DEFAULT 0;

+ 8 - 8
TRS.WCM.Developer/sp/p_data_migration_wcmdocument.sql

@@ -2,10 +2,10 @@
 DROP PROCEDURE IF EXISTS p_data_migration_wcmdocument;
 DELIMITER $$
 CREATE PROCEDURE p_data_migration_wcmdocument(IN prevDocId BIGINT(20),
-                                              IN baseDocId BIGINT(20),
-                                              IN baseViewId BIGINT(20),
-                                              IN baseSiteId BIGINT(20),
-                                              IN baseChannelId BIGINT(20))
+                                              IN docIdOffset BIGINT(20),
+                                              IN viewIdOffset BIGINT(20),
+                                              IN siteIdOffset BIGINT(20),
+                                              IN channelIdOffset BIGINT(20))
 
 	BEGIN 
 	
@@ -279,15 +279,15 @@ CREATE PROCEDURE p_data_migration_wcmdocument(IN prevDocId BIGINT(20),
         THEN
           # 迁移后的数据,ID增加某一特定的值
           # 文档ID
-          SET f_DOCID = f_DOCID + baseDocId;
+          SET f_DOCID = f_DOCID + docIdOffset;
           # 栏目ID
-          SET f_DOCCHANNEL = f_DOCCHANNEL + baseChannelId;
+          SET f_DOCCHANNEL = f_DOCCHANNEL + channelIdOffset;
           # 视图ID
           IF (f_DOCKIND > 0)
-          THEN SET f_DOCKIND = f_SITEID + baseViewId;
+          THEN SET f_DOCKIND = f_SITEID + viewIdOffset;
           END IF ;
           # 站点ID
-          SET f_SITEID = f_SITEID + baseSiteId;
+          SET f_SITEID = f_SITEID + siteIdOffset;
 
           insert into trs_hycloud_iip.wcmdocument
             (

+ 6 - 6
TRS.WCM.Developer/sp/p_data_migration_wcmfolderpublishconfig.sql

@@ -2,9 +2,9 @@
 DROP PROCEDURE IF EXISTS p_data_migration_wcmfolderpublishconfig;
 DELIMITER $$
 CREATE PROCEDURE p_data_migration_wcmfolderpublishconfig(IN prevFolderPublishConfigId BIGINT(20),
-                                              IN baseFolderPublishConfigId BIGINT(20),
-                                              IN baseSiteId BIGINT(20),
-                                              IN baseChannelId BIGINT(20))
+                                              IN folderPublishConfigIdOffset BIGINT(20),
+                                              IN siteIdOffset BIGINT(20),
+                                              IN channelIdOffset BIGINT(20))
 	BEGIN 
 	
     DECLARE over INT DEFAULT 0;
@@ -65,14 +65,14 @@ CREATE PROCEDURE p_data_migration_wcmfolderpublishconfig(IN prevFolderPublishCon
 
         THEN
 
-            SET f_FOLDERPUBLISHCONFIGID = f_FOLDERPUBLISHCONFIGID + baseFolderPublishConfigId;
+            SET f_FOLDERPUBLISHCONFIGID = f_FOLDERPUBLISHCONFIGID + folderPublishConfigIdOffset;
 
             IF (f_FOLDERTYPE = 103)
-              THEN SET f_FOLDERID = f_FOLDERID + baseSiteId;
+              THEN SET f_FOLDERID = f_FOLDERID + siteIdOffset;
             END IF ;
 
             IF (f_FOLDERTYPE = 101)
-              THEN SET f_FOLDERID = f_FOLDERID + baseChannelId;
+              THEN SET f_FOLDERID = f_FOLDERID + channelIdOffset;
             END IF ;
 
 

+ 8 - 8
TRS.WCM.Developer/sp/p_data_migration_wcmtemplate.sql

@@ -2,9 +2,9 @@
 DROP PROCEDURE IF EXISTS p_data_migration_wcmtemplate;
 DELIMITER $$
 CREATE PROCEDURE p_data_migration_wcmtemplate(IN prevTemplateId BIGINT(20),
-                                              IN baseTemplateId BIGINT(20),
-                                              IN baseSiteId BIGINT(20),
-                                              IN baseChannelId BIGINT(20))
+                                              IN templateIdOffset BIGINT(20),
+                                              IN siteIdOffset BIGINT(20),
+                                              IN channelIdOffset BIGINT(20))
 	BEGIN 
 	
     DECLARE over INT DEFAULT 0;
@@ -92,22 +92,22 @@ CREATE PROCEDURE p_data_migration_wcmtemplate(IN prevTemplateId BIGINT(20),
 
         THEN
 
-            SET f_TEMPID = f_TEMPID + baseTemplateId;
+            SET f_TEMPID = f_TEMPID + templateIdOffset;
 
             IF (f_FOLDERTYPE = 103)
-              THEN SET f_FOLDERID = f_FOLDERID + baseSiteId;
+              THEN SET f_FOLDERID = f_FOLDERID + siteIdOffset;
             END IF ;
 
             IF (f_FOLDERTYPE = 101)
-              THEN SET f_FOLDERID = f_FOLDERID + baseChannelId;
+              THEN SET f_FOLDERID = f_FOLDERID + channelIdOffset;
             END IF ;
 
             IF (f_ROOTTYPE = 103)
-              THEN SET f_ROOTID = f_ROOTID + baseSiteId;
+              THEN SET f_ROOTID = f_ROOTID + siteIdOffset;
             END IF ;
 
             IF (f_ROOTTYPE = 101)
-              THEN SET f_ROOTID = f_ROOTID + baseChannelId;
+              THEN SET f_ROOTID = f_ROOTID + channelIdOffset;
             END IF ;
 
 

+ 6 - 6
TRS.WCM.Developer/sp/p_data_migration_wcmtemplateargument.sql

@@ -2,9 +2,9 @@
 DROP PROCEDURE IF EXISTS p_data_migration_wcmtemplateargument;
 DELIMITER $$
 CREATE PROCEDURE p_data_migration_wcmtemplateargument(IN prevTemplateArgId BIGINT(20),
-                                              IN baseTemplateArgId BIGINT(20),
-                                              IN baseSiteId BIGINT(20),
-                                              IN baseChannelId BIGINT(20))
+                                              IN templateArgIdOffset BIGINT(20),
+                                              IN siteIdOffset BIGINT(20),
+                                              IN channelIdOffset BIGINT(20))
 	BEGIN 
 	
     DECLARE over INT DEFAULT 0;
@@ -53,15 +53,15 @@ CREATE PROCEDURE p_data_migration_wcmtemplateargument(IN prevTemplateArgId BIGIN
 
         THEN
 
-            SET f_TEMPLATEARGUMENTID = f_TEMPLATEARGUMENTID + baseTemplateArgId;
+            SET f_TEMPLATEARGUMENTID = f_TEMPLATEARGUMENTID + templateArgIdOffset;
             SET f_TEMPLATEID = f_TEMPLATEID + baseTemplateId;
 
             IF (f_EMPLOYERTYPE = 103)
-              THEN SET EMPLOYERID = EMPLOYERID + baseSiteId;
+              THEN SET EMPLOYERID = EMPLOYERID + siteIdOffset;
             END IF ;
 
             IF (f_EMPLOYERTYPE = 101)
-              THEN SET EMPLOYERID = EMPLOYERID + baseChannelId;
+              THEN SET EMPLOYERID = EMPLOYERID + channelIdOffset;
             END IF ;
 
 

+ 6 - 6
TRS.WCM.Developer/sp/p_data_migration_wcmtemplateemploy.sql

@@ -2,9 +2,9 @@
 DROP PROCEDURE IF EXISTS p_data_migration_wcmtemplateemploy;
 DELIMITER $$
 CREATE PROCEDURE p_data_migration_wcmtemplateemploy(IN prevTemplateEmployId BIGINT(20),
-                                              IN baseTemplateEmployId BIGINT(20),
-                                              IN baseSiteId BIGINT(20),
-                                              IN baseChannelId BIGINT(20))
+                                              IN templateEmployIdOffset BIGINT(20),
+                                              IN siteIdOffset BIGINT(20),
+                                              IN channelIdOffset BIGINT(20))
 	BEGIN 
 	
     DECLARE over INT DEFAULT 0;
@@ -50,15 +50,15 @@ CREATE PROCEDURE p_data_migration_wcmtemplateemploy(IN prevTemplateEmployId BIGI
 
         THEN
 
-            SET f_TEMPLATEEMPLOYID = f_TEMPLATEEMPLOYID + baseTemplateEmployId;
+            SET f_TEMPLATEEMPLOYID = f_TEMPLATEEMPLOYID + templateEmployIdOffset;
             SET f_TEMPLATEID = f_TEMPLATEID + baseTemplateId;
 
             IF (f_EMPLOYERTYPE = 103)
-              THEN SET f_TEMPLATEID = f_TEMPLATEID + baseSiteId;
+              THEN SET f_TEMPLATEID = f_TEMPLATEID + siteIdOffset;
             END IF ;
 
             IF (f_EMPLOYERTYPE = 101)
-              THEN SET f_TEMPLATEID = f_TEMPLATEID + baseChannelId;
+              THEN SET f_TEMPLATEID = f_TEMPLATEID + channelIdOffset;
             END IF ;
 
 

+ 2 - 2
TRS.WCM.Developer/sp/p_data_migration_wcmtemplatenest.sql

@@ -2,7 +2,7 @@
 DROP PROCEDURE IF EXISTS p_data_migration_wcmtemplatenest;
 DELIMITER $$
 CREATE PROCEDURE p_data_migration_wcmtemplatenest(IN prevTemplateNestId BIGINT(20),
-                                              IN baseTemplateNestId BIGINT(20))
+                                              IN templateNestIdOffset BIGINT(20))
 	BEGIN 
 	
     DECLARE over INT DEFAULT 0;
@@ -38,7 +38,7 @@ CREATE PROCEDURE p_data_migration_wcmtemplatenest(IN prevTemplateNestId BIGINT(2
 
         THEN
 
-            SET f_TEMPLATENESTID = f_TEMPLATENESTID + baseTemplateNestId;
+            SET f_TEMPLATENESTID = f_TEMPLATENESTID + templateNestIdOffset;
             SET f_TEMPLATEID = f_TEMPLATEID + baseTemplateId;
             SET NESTEDTEMPLATEID = NESTEDTEMPLATEID + baseTemplateId;
 

+ 6 - 6
TRS.WCM.Developer/sp/p_data_migration_wcmtemplatequote.sql

@@ -2,9 +2,9 @@
 DROP PROCEDURE IF EXISTS p_data_migration_wcmtemplatequote;
 DELIMITER $$
 CREATE PROCEDURE p_data_migration_wcmtemplatequote(IN prevTemplateQuoteId BIGINT(20),
-                                              IN baseTemplateQuoteId BIGINT(20),
-                                              IN baseSiteId BIGINT(20),
-                                              IN baseChannelId BIGINT(20))
+                                              IN templateQuoteIdOffset BIGINT(20),
+                                              IN siteIdOffset BIGINT(20),
+                                              IN channelIdOffset BIGINT(20))
 	BEGIN 
 	
     DECLARE over INT DEFAULT 0;
@@ -53,15 +53,15 @@ CREATE PROCEDURE p_data_migration_wcmtemplatequote(IN prevTemplateQuoteId BIGINT
 
         THEN
 
-            SET f_TEMPLATEQUOTEID = f_TEMPLATEQUOTEID + baseTemplateQuoteId;
+            SET f_TEMPLATEQUOTEID = f_TEMPLATEQUOTEID + templateQuoteIdOffset;
             SET f_TEMPLATEID = f_TEMPLATEID + baseTemplateId;
 
             IF (f_QUOTEDFOLDERTYPE = 103)
-              THEN SET f_QUOTEDFOLDERID = f_QUOTEDFOLDERID + baseSiteId;
+              THEN SET f_QUOTEDFOLDERID = f_QUOTEDFOLDERID + siteIdOffset;
             END IF ;
 
             IF (f_QUOTEDFOLDERTYPE = 101)
-              THEN SET f_QUOTEDFOLDERID = f_QUOTEDFOLDERID + baseChannelId;
+              THEN SET f_QUOTEDFOLDERID = f_QUOTEDFOLDERID + channelIdOffset;
             END IF ;
 
 

+ 2 - 2
TRS.WCM.Developer/sp/p_data_migration_wcmwebsite.sql

@@ -1,7 +1,7 @@
 
 DROP PROCEDURE IF EXISTS p_data_migration_wcmwebsite;
 DELIMITER $$
-CREATE PROCEDURE p_data_migration_wcmwebsite(IN prevSiteId BIGINT(20), IN baseSiteId BIGINT(20))
+CREATE PROCEDURE p_data_migration_wcmwebsite(IN prevSiteId BIGINT(20), IN siteIdOffset BIGINT(20))
 	BEGIN 
 	
 	DECLARE over INT DEFAULT 0;
@@ -152,7 +152,7 @@ CREATE PROCEDURE p_data_migration_wcmwebsite(IN prevSiteId BIGINT(20), IN baseSi
 
         THEN
 
-            SET f_SITEID = f_SITEID + baseSiteId;
+            SET f_SITEID = f_SITEID + siteIdOffset;
 
             insert into trs_hycloud_iip.wcmwebsite
               (

+ 4 - 4
TRS.WCM.Developer/sp/p_data_migration_xwcmmetaviewemployer.sql

@@ -1,8 +1,8 @@
 
 DROP PROCEDURE IF EXISTS p_data_migration_xwcmmetaviewemployer;
 DELIMITER $$
-CREATE PROCEDURE p_data_migration_xwcmmetaviewemployer(IN prevEmployerId BIGINT(20),
-                                              IN employerIdOffset BIGINT(20),
+CREATE PROCEDURE p_data_migration_xwcmmetaviewemployer(IN prevMetaViewEmployerId BIGINT(20),
+                                              IN metaViewEmployerIdOffset BIGINT(20),
                                               IN siteIdOffset BIGINT(20),
                                               IN channelIdOffset BIGINT(20))
 	BEGIN 
@@ -43,12 +43,12 @@ CREATE PROCEDURE p_data_migration_xwcmmetaviewemployer(IN prevEmployerId BIGINT(
     WHILE over= 0 DO
 
       # 断点续传
-      IF (f_METAVIEWEMPLOYERID > prevEmployerId)
+      IF (f_METAVIEWEMPLOYERID > prevMetaViewEmployerId)
 
         THEN
 
             SET @METAVIEWEMPLOYERID = f_METAVIEWEMPLOYERID;
-            SET f_METAVIEWEMPLOYERID = f_METAVIEWEMPLOYERID + employerIdOffset;
+            SET f_METAVIEWEMPLOYERID = f_METAVIEWEMPLOYERID + metaViewEmployerIdOffset;
 
             IF (f_FOLDERTYPE = 103)
               THEN SET f_FOLDERID = f_FOLDERID + siteIdOffset;

+ 4 - 4
TRS.WCM.Developer/sp/p_data_migration_xwcmtableinfo.sql

@@ -1,8 +1,8 @@
 
 DROP PROCEDURE IF EXISTS p_data_migration_xwcmtableinfo;
 DELIMITER $$
-CREATE PROCEDURE p_data_migration_xwcmtableinfo(IN prevTableId BIGINT(20),
-                                              IN tableIdOffset BIGINT(20))
+CREATE PROCEDURE p_data_migration_xwcmtableinfo(IN prevTableInfoId BIGINT(20),
+                                              IN tableInfoIdOffset BIGINT(20))
 	BEGIN 
 	
 	  DECLARE over INT DEFAULT 0;
@@ -50,12 +50,12 @@ CREATE PROCEDURE p_data_migration_xwcmtableinfo(IN prevTableId BIGINT(20),
     WHILE over= 0 DO
 
       # 断点续传
-      IF (f_TABLEINFOID > prevTableId)
+      IF (f_TABLEINFOID > prevTableInfoId)
 
         THEN
 
             SET @TABLEINFOID = f_TABLEINFOID;
-            SET f_TABLEINFOID = f_TABLEINFOID + tableIdOffset;
+            SET f_TABLEINFOID = f_TABLEINFOID + tableInfoIdOffset;
 
             insert into trs_hycloud_iip.xwcmtableinfo
               (

+ 2 - 2
TRS.WCM.Developer/sp/p_data_migration_xwcmviewfieldinfo.sql

@@ -3,7 +3,7 @@ DROP PROCEDURE IF EXISTS p_data_migration_xwcmviewfieldinfo;
 DELIMITER $$
 CREATE PROCEDURE p_data_migration_xwcmviewfieldinfo(IN prevViewFieldId BIGINT(20),
                                               IN viewFieldIdOffset BIGINT(20),
-                                              IN tableIdOffset BIGINT(20),
+                                              IN tableInfoIdOffset BIGINT(20),
                                               IN classIdOffset BIGINT(20),
                                               IN dbFieldIdOffset BIGINT(20),
                                               IN fieldGroupIdOffset BIGINT(20),
@@ -164,7 +164,7 @@ CREATE PROCEDURE p_data_migration_xwcmviewfieldinfo(IN prevViewFieldId BIGINT(20
 
             SET @VIEWINFOID = f_VIEWINFOID;
             SET f_VIEWFIELDINFOID = f_VIEWFIELDINFOID + viewFieldIdOffset;
-            SET f_TABLEID = f_TABLEID + tableIdOffset;
+            SET f_TABLEID = f_TABLEID + tableInfoIdOffset;
             SET f_CLASSID = f_CLASSID + classIdOffset;
             SET f_VIEWID = f_VIEWID + viewIdOffset;
             SET f_DBFIELD = f_DBFIELD + dbFieldIdOffset;