Browse Source

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

lin.chen 7 years ago
parent
commit
5fe6fd7c95

+ 110 - 0
TRS.WCM.Developer/sp/p_data_migration_wcmtemplateargument.sql

@@ -0,0 +1,110 @@
+
+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))
+	BEGIN 
+	
+    DECLARE over INT DEFAULT 0;
+
+    DECLARE  f_TEMPLATEARGUMENTID int(11) DEFAULT '0';
+    DECLARE  f_EMPLOYERTYPE int(11) DEFAULT '0';
+    DECLARE  f_EMPLOYERID int(11) DEFAULT '0';
+    DECLARE  f_TEMPLATEID int(11) DEFAULT '0';
+    DECLARE  f_ARGUMENTNAME varchar(256) DEFAULT '0';
+    DECLARE  f_ARGUMENTVALUE varchar(500) DEFAULT NULL;
+    DECLARE  f_PREFIXOFNAME varchar(256) DEFAULT NULL;
+
+
+    DECLARE cur CURSOR FOR
+		SELECT
+      TEMPLATEARGUMENTID,
+      EMPLOYERTYPE,
+      EMPLOYERID,
+      TEMPLATEID,
+      ARGUMENTNAME,
+      ARGUMENTVALUE,
+      PREFIXOFNAME
+    FROM wcm.wcmtemplateargument
+		ORDER BY TEMPLATEARGUMENTID asc;
+
+	DECLARE CONTINUE HANDLER FOR NOT FOUND SET over = 1;
+	
+	OPEN cur;
+	
+	FETCH cur INTO
+    f_TEMPLATEARGUMENTID,
+    f_EMPLOYERTYPE,
+    f_EMPLOYERID,
+    f_TEMPLATEID,
+    f_ARGUMENTNAME,
+    f_ARGUMENTVALUE,
+    f_PREFIXOFNAME
+    ;
+
+
+
+    WHILE over= 0 DO
+
+      # 断点续传
+      IF (f_TEMPLATEARGUMENTID > prevTemplateArgId)
+
+        THEN
+
+            SET f_TEMPLATEARGUMENTID = f_TEMPLATEARGUMENTID + baseTemplateArgId;
+            SET f_TEMPLATEID = f_TEMPLATEID + baseTemplateId;
+
+            IF (f_EMPLOYERTYPE = 103)
+              THEN SET EMPLOYERID = EMPLOYERID + baseSiteId;
+            END IF ;
+
+            IF (f_EMPLOYERTYPE = 101)
+              THEN SET EMPLOYERID = EMPLOYERID + baseChannelId;
+            END IF ;
+
+
+
+            insert into trs_hycloud_iip.wcmtemplateemploy
+              (
+                TEMPLATEARGUMENTID,
+                EMPLOYERTYPE,
+                EMPLOYERID,
+                TEMPLATEID,
+                ARGUMENTNAME,
+                ARGUMENTVALUE,
+                PREFIXOFNAME
+              )
+              VALUES
+                (
+                  f_TEMPLATEARGUMENTID,
+                  f_EMPLOYERTYPE,
+                  f_EMPLOYERID,
+                  f_TEMPLATEID,
+                  f_ARGUMENTNAME,
+                  f_ARGUMENTVALUE,
+                  f_PREFIXOFNAME
+                );
+
+            SELECT CONCAT('成功迁移 wcmtemplateargument[TEMPLATEARGUMENTID=', f_TEMPLATEARGUMENTID, ']') ;
+    END IF ;
+
+		FETCH cur INTO
+      f_TEMPLATEARGUMENTID,
+      f_EMPLOYERTYPE,
+      f_EMPLOYERID,
+      f_TEMPLATEID,
+      f_ARGUMENTNAME,
+      f_ARGUMENTVALUE,
+      f_PREFIXOFNAME
+    ;
+		
+	END WHILE;
+	
+	CLOSE cur;
+
+  SELECT '迁移 wcmtemplateargument 完毕';
+		
+	END$$
+DELIMITER ;

+ 104 - 0
TRS.WCM.Developer/sp/p_data_migration_wcmtemplateemploy.sql

@@ -0,0 +1,104 @@
+
+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))
+	BEGIN 
+	
+    DECLARE over INT DEFAULT 0;
+
+    DECLARE  f_TEMPLATEEMPLOYID int(11) DEFAULT '0';
+    DECLARE  f_EMPLOYERTYPE int(11) DEFAULT '0';
+    DECLARE  f_EMPLOYERID int(11) DEFAULT '0';
+    DECLARE  f_TEMPLATEID int(11) DEFAULT '0';
+    DECLARE  f_TEMPLATETYPE smallint(6) DEFAULT '0';
+    DECLARE  f_ISDEFAULT smallint(6) DEFAULT '0';
+
+
+    DECLARE cur CURSOR FOR
+		SELECT
+      TEMPLATEEMPLOYID,
+      EMPLOYERTYPE,
+      EMPLOYERID,
+      TEMPLATEID,
+      TEMPLATETYPE,
+      ISDEFAULT
+    FROM wcm.wcmtemplateemploy
+		ORDER BY TEMPLATEEMPLOYID asc;
+
+	DECLARE CONTINUE HANDLER FOR NOT FOUND SET over = 1;
+	
+	OPEN cur;
+	
+	FETCH cur INTO
+    f_TEMPLATEEMPLOYID,
+    f_EMPLOYERTYPE,
+    f_EMPLOYERID,
+    f_TEMPLATEID,
+    f_TEMPLATETYPE,
+    f_ISDEFAULT
+    ;
+
+
+
+    WHILE over= 0 DO
+
+      # 断点续传
+      IF (f_TEMPLATEEMPLOYID > prevTemplateEmployId)
+
+        THEN
+
+            SET f_TEMPLATEEMPLOYID = f_TEMPLATEEMPLOYID + baseTemplateEmployId;
+            SET f_TEMPLATEID = f_TEMPLATEID + baseTemplateId;
+
+            IF (f_EMPLOYERTYPE = 103)
+              THEN SET f_TEMPLATEID = f_TEMPLATEID + baseSiteId;
+            END IF ;
+
+            IF (f_EMPLOYERTYPE = 101)
+              THEN SET f_TEMPLATEID = f_TEMPLATEID + baseChannelId;
+            END IF ;
+
+
+
+            insert into trs_hycloud_iip.wcmtemplateemploy
+              (
+                TEMPLATEEMPLOYID,
+                EMPLOYERTYPE,
+                EMPLOYERID,
+                TEMPLATEID,
+                TEMPLATETYPE,
+                ISDEFAULT
+              )
+              VALUES
+                (
+                  f_TEMPLATEEMPLOYID,
+                  f_EMPLOYERTYPE,
+                  f_EMPLOYERID,
+                  f_TEMPLATEID,
+                  f_TEMPLATETYPE,
+                  f_ISDEFAULT
+                );
+
+            SELECT CONCAT('成功迁移 wcmtemplateemploy[TEMPLATEEMPLOYID=', f_TEMPID, ']') ;
+    END IF ;
+
+		FETCH cur INTO
+      f_TEMPLATEEMPLOYID,
+      f_EMPLOYERTYPE,
+      f_EMPLOYERID,
+      f_TEMPLATEID,
+      f_TEMPLATETYPE,
+      f_ISDEFAULT
+    ;
+		
+	END WHILE;
+	
+	CLOSE cur;
+
+  SELECT '迁移 wcmtemplateemploy 完毕';
+		
+	END$$
+DELIMITER ;

+ 74 - 0
TRS.WCM.Developer/sp/p_data_migration_wcmtemplatenest.sql

@@ -0,0 +1,74 @@
+
+DROP PROCEDURE IF EXISTS p_data_migration_wcmtemplatenest;
+DELIMITER $$
+CREATE PROCEDURE p_data_migration_wcmtemplatenest(IN prevTemplateNestId BIGINT(20),
+                                              IN baseTemplateNestId BIGINT(20))
+	BEGIN 
+	
+    DECLARE over INT DEFAULT 0;
+
+    DECLARE  f_TEMPLATEID int(11) DEFAULT 0;
+    DECLARE  f_NESTEDTEMPLATEID int(11) DEFAULT 0;
+    DECLARE  f_TEMPLATENESTID int(11) DEFAULT 0;
+
+    DECLARE cur CURSOR FOR
+		SELECT
+      TEMPLATEID,
+      NESTEDTEMPLATEID,
+      TEMPLATENESTID
+    FROM wcm.wcmtemplatenest
+		ORDER BY TEMPLATENESTID asc;
+
+	DECLARE CONTINUE HANDLER FOR NOT FOUND SET over = 1;
+	
+	OPEN cur;
+	
+	FETCH cur INTO
+    f_TEMPLATEID,
+    f_NESTEDTEMPLATEID,
+    f_TEMPLATENESTID
+    ;
+
+
+
+    WHILE over= 0 DO
+
+      # 断点续传
+      IF (f_TEMPLATENESTID > prevTemplateNestId)
+
+        THEN
+
+            SET f_TEMPLATENESTID = f_TEMPLATENESTID + baseTemplateNestId;
+            SET f_TEMPLATEID = f_TEMPLATEID + baseTemplateId;
+            SET NESTEDTEMPLATEID = NESTEDTEMPLATEID + baseTemplateId;
+
+            insert into trs_hycloud_iip.wcmtemplatenest
+              (
+                TEMPLATEID,
+                NESTEDTEMPLATEID,
+                TEMPLATENESTID
+              )
+              VALUES
+                (
+                  f_TEMPLATEID,
+                  f_NESTEDTEMPLATEID,
+                  f_TEMPLATENESTID
+                );
+
+            SELECT CONCAT('成功迁移 wcmtemplatenest[TEMPLATENESTID=', f_TEMPLATENESTID, ']') ;
+    END IF ;
+
+		FETCH cur INTO
+      f_TEMPLATEID,
+      f_NESTEDTEMPLATEID,
+      f_TEMPLATENESTID
+    ;
+		
+	END WHILE;
+	
+	CLOSE cur;
+
+  SELECT '迁移 wcmtemplatenest 完毕';
+		
+	END$$
+DELIMITER ;

+ 110 - 0
TRS.WCM.Developer/sp/p_data_migration_wcmtemplatequote.sql

@@ -0,0 +1,110 @@
+
+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))
+	BEGIN 
+	
+    DECLARE over INT DEFAULT 0;
+
+    DECLARE  f_TEMPLATEQUOTEID int(11) DEFAULT '0';
+    DECLARE  f_TEMPLATEID int(11) DEFAULT '0';
+    DECLARE  f_TEMPLATETYPE smallint(6) DEFAULT '0';
+    DECLARE  f_QUOTEDFOLDERTYPE int(11) DEFAULT '0';
+    DECLARE  f_QUOTEDFOLDERID int(11) DEFAULT '0';
+    DECLARE  f_FAMILYINDEX smallint(6) DEFAULT '0';
+    DECLARE  f_QUOTETYPE smallint(6) DEFAULT '0';
+
+
+    DECLARE cur CURSOR FOR
+		SELECT
+      TEMPLATEQUOTEID,
+      TEMPLATEID,
+      TEMPLATETYPE,
+      QUOTEDFOLDERTYPE,
+      QUOTEDFOLDERID,
+      FAMILYINDEX,
+      QUOTETYPE
+    FROM wcm.wcmtemplatequote
+		ORDER BY TEMPLATEQUOTEID asc;
+
+	DECLARE CONTINUE HANDLER FOR NOT FOUND SET over = 1;
+	
+	OPEN cur;
+	
+	FETCH cur INTO
+    f_TEMPLATEQUOTEID,
+    f_TEMPLATEID,
+    f_TEMPLATETYPE,
+    f_QUOTEDFOLDERTYPE,
+    f_QUOTEDFOLDERID,
+    f_FAMILYINDEX,
+    f_QUOTETYPE
+    ;
+
+
+
+    WHILE over= 0 DO
+
+      # 断点续传
+      IF (f_TEMPLATEQUOTEID > prevTemplateQuoteId)
+
+        THEN
+
+            SET f_TEMPLATEQUOTEID = f_TEMPLATEQUOTEID + baseTemplateQuoteId;
+            SET f_TEMPLATEID = f_TEMPLATEID + baseTemplateId;
+
+            IF (f_QUOTEDFOLDERTYPE = 103)
+              THEN SET f_QUOTEDFOLDERID = f_QUOTEDFOLDERID + baseSiteId;
+            END IF ;
+
+            IF (f_QUOTEDFOLDERTYPE = 101)
+              THEN SET f_QUOTEDFOLDERID = f_QUOTEDFOLDERID + baseChannelId;
+            END IF ;
+
+
+
+            insert into trs_hycloud_iip.wcmtemplatequote
+              (
+                TEMPLATEQUOTEID,
+                TEMPLATEID,
+                TEMPLATETYPE,
+                QUOTEDFOLDERTYPE,
+                QUOTEDFOLDERID,
+                FAMILYINDEX,
+                QUOTETYPE
+              )
+              VALUES
+                (
+                  f_TEMPLATEQUOTEID,
+                  f_TEMPLATEID,
+                  f_TEMPLATETYPE,
+                  f_QUOTEDFOLDERTYPE,
+                  f_QUOTEDFOLDERID,
+                  f_FAMILYINDEX,
+                  f_QUOTETYPE
+                );
+
+            SELECT CONCAT('成功迁移 wcmtemplatequote[TEMPLATEQUOTEID=', f_TEMPLATEQUOTEID, ']') ;
+    END IF ;
+
+		FETCH cur INTO
+      f_TEMPLATEQUOTEID,
+      f_TEMPLATEID,
+      f_TEMPLATETYPE,
+      f_QUOTEDFOLDERTYPE,
+      f_QUOTEDFOLDERID,
+      f_FAMILYINDEX,
+      f_QUOTETYPE
+    ;
+		
+	END WHILE;
+	
+	CLOSE cur;
+
+  SELECT '迁移 wcmtemplatequote 完毕';
+		
+	END$$
+DELIMITER ;