Explorar el Código

脚本支持增量更新数据1

lijihong hace 6 años
padre
commit
2b0f833b25

+ 0 - 50
TRS.WCM.Developer/贵州项目/1_get_data_migration_offset.sql

@@ -1,50 +0,0 @@
-DROP FUNCTION IF EXISTS get_data_migration_offset;
-DELIMITER $$
-CREATE FUNCTION get_data_migration_offset(table_name VARCHAR(100), p_id BIGINT(20),cur_offset INT(11))
-  RETURNS INT(255)
-  BEGIN
-    DECLARE x INT (11) DEFAULT 0;
-		IF table_name = 'wcmdocument' THEN
-			SET  x = IFNULL((SELECT offset from document_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
-			IF x = 0 THEN
-				SET x = cur_offset;
-			END IF;
-			RETURN x;
-		END IF;
-		IF table_name = 'wcmchannel' THEN
-			SET  x = IFNULL((SELECT offset from channel_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
-			IF x = 0 THEN
-				SET x = cur_offset;
-			END IF;
-			RETURN x;
-		END IF;
-		IF table_name = 'wcmwebsite' THEN
-			SET  x = IFNULL((SELECT offset from site_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
-			IF x = 0 THEN
-				SET x = cur_offset;
-			END IF;
-			RETURN x;
-		END IF;
-		IF table_name = 'wcmtemplate' THEN
-			SET  x = IFNULL((SELECT offset from template_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
-			IF x = 0 THEN
-				SET x = cur_offset;
-			END IF;
-			RETURN x;
-		END IF;
-		IF table_name = 'xwcmtableinfo' THEN
-			SET  x = IFNULL((SELECT offset from tableinfo_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
-			IF x = 0 THEN
-				SET x = cur_offset;
-			END IF;
-			RETURN x;
-		END IF;
-		IF table_name = 'xwcmviewinfo' THEN
-			SET  x = IFNULL((SELECT offset from viewInfo_offset WHERE p_id > previous_id ORDER BY OFFSET desc limit 1),0);
-			IF x = 0 THEN
-				SET x = cur_offset;
-			END IF;
-			RETURN x;
-		END IF;
-		RETURN -1;
-  END $$

+ 0 - 52
TRS.WCM.Developer/贵州项目/2.sp_data_migration_buildOffset.sql

@@ -1,52 +0,0 @@
-use trs_data_migration;
--- 迁移前执行call sp_data_migration_buildOffset(n);
--- 为偏移量记录表插入数据。
-DROP PROCEDURE IF EXISTS sp_data_migration_buildOffset;
-DELIMITER $$
-CREATE PROCEDURE sp_data_migration_buildOffset(IN n SMALLINT(2))
-  BEGIN
--- 文档表
-    set @offset = IFNULL((select `offset` from document_offset where `times` = n),0);
-    IF @offset = 0 THEN
-			SET @previous_id = IFNULL((select MAX(docId) from wcmdocument),0);
-			SET @offset = IFNULL((select MAX(docid) from trs_hycloud_iip.wcmdocument),0);
-			INSERT INTO document_offset values(n,@previous_id,@offset);
-		END IF;
--- 站点表
-    set @offset = IFNULL((select `offset` from site_offset where `times` = n),0);
-    IF @offset = 0 THEN
-			SET @previous_id = IFNULL((select MAX(siteId) from wcmwebsite),0);
-			SET @offset = IFNULL((select MAX(siteId) from trs_hycloud_iip.wcmwebsite),0);
-			INSERT INTO site_offset values(n,@previous_id,@offset);
-		END IF;
-
--- 栏目表
-    set @offset = IFNULL((select `offset` from channel_offset where `times` = n),0);
-    IF @offset = 0 THEN
-			SET @previous_id = IFNULL((select MAX(channelId) from wcmchannel),0);
-			SET @offset = IFNULL((select MAX(channelId) from trs_hycloud_iip.wcmchannel),0);
-			INSERT INTO channel_offset values(n,@previous_id,@offset);
-		END IF;
--- template表
-    set @offset = IFNULL((select `offset` from template_offset where `times` = n),0);
-    IF @offset = 0 THEN
-			SET @previous_id = IFNULL((select MAX(tempId) from wcmtemplate),0);
-			SET @offset = IFNULL((select MAX(tempId) from trs_hycloud_iip.wcmtemplate),0);
-			INSERT INTO template_offset values(n,@previous_id,@offset);
-		END IF;
--- viewInfo表
-    set @offset = IFNULL((select `offset` from viewInfo_offset where `times` = n),0);
-    IF @offset = 0 THEN
-			SET @previous_id = IFNULL((select MAX(viewInfoId) from xwcmviewinfo),0);
-			SET @offset = IFNULL((select MAX(viewInfoId) from trs_hycloud_iip.xwcmviewinfo),0);
-			INSERT INTO viewInfo_offset values(n,@previous_id,@offset);
-		END IF;
--- tableInfo表
-    set @offset = IFNULL((select `offset` from tableInfo_offset where `times` = n),0);
-    IF @offset = 0 THEN
-			SET @previous_id = IFNULL((select MAX(tableInfoId) from xwcmtableinfo),0);
-			SET @offset = IFNULL((select MAX(tableInfoId) from trs_hycloud_iip.xwcmtableinfo),0);
-			INSERT INTO tableInfo_offset values(n,@previous_id,@offset);
-		END IF;
-  END $$
-DELIMITER ;

+ 3 - 3
TRS.WCM.Developer/贵州项目/3_sp_data_migration_wcmwebsite.sql

@@ -93,9 +93,9 @@ CREATE PROCEDURE sp_data_migration_wcmwebsite(IN citySuffix VARCHAR(255), IN pre
       VIEWPROPS,
       NEEDEDPROPS,
       MediaType,
-      IsSubscribe,
-      ISPUSHABLE,
-      ISDISTRIBUTABLE,
+      0,
+      0,
+      0,
       0,
       0,
       0,

+ 2 - 2
TRS.WCM.Developer/贵州项目/3_sp_data_migration_xwcmmetaviewemployer.sql

@@ -33,8 +33,8 @@ CREATE PROCEDURE sp_data_migration_xwcmmetaviewemployer(IN prevMetaViewEmployerI
       VIEWID,
       CHANNELID,
       METAVIEWEMPLOYERID,
-      EmployerType,
-      EmployerId
+      101,
+      CHANNELID
     FROM trs_data_migration.xwcmmetaviewemployer
 		ORDER BY METAVIEWEMPLOYERID asc;
 

+ 146 - 34
TRS.WCM.Developer/贵州项目/6_recover.sql

@@ -3,41 +3,153 @@
 # !!!如果海云系统启动并恢复了使用,则再也不能执行如下sql了,否则会误删海云的正常数据
 # 清除的数据 不包括元数据表,一般情况下,元数据表不需要重新迁移;如果确定元数据有问题,也需要重新迁移,则手工删除所有......_city... 后缀的元数据表即可
 
-DELETE from trs_hycloud_iip.wcmclassification where CNAME like '贵州迁移站点__city%';
-DELETE from trs_hycloud_iip.wcmclassificationobj where OBJTYPE = 103 and OBJID > 100000;
-
-delete from trs_hycloud_iip.wcmwebsite where siteid > 100000;
-delete from trs_hycloud_iip.xwcmviewinfo where viewinfoid > 100000;
-delete from trs_hycloud_iip.xwcmtableinfo where tableinfoid > 100000;
-delete from trs_hycloud_iip.xwcmmetaviewfieldgroup where metaviewfieldgroupid > 100000;
-
-delete from trs_hycloud_iip.xwcmclassinfoview where classinfoviewid > 100000;
-delete from trs_hycloud_iip.xwcmclassinfo where classinfoid > 100000;
-delete from trs_hycloud_iip.xwcmdbfieldinfo where dbfieldinfoid > 100000;
-delete from trs_hycloud_iip.xwcmmetaviewemployer where metaviewemployerid > 100000;
-delete from trs_hycloud_iip.xwcmviewfieldinfo where viewfieldinfoid > 100000;
-delete from trs_hycloud_iip.xwcmdbfieldinfo where dbfieldinfoid > 100000;
-
-
-
-delete from trs_hycloud_iip.wcmchannel where channelid > 1000000;
-delete from trs_hycloud_iip.wcmchannelsyn where channelsynid > 1000000;
-delete from trs_hycloud_iip.wcmtemplate where tempid > 1000000;
-delete from trs_hycloud_iip.wcmfolderpublishconfig where folderpublishconfigid > 1000000;
-delete from trs_hycloud_iip.wcmtemplateargument where templateargumentid > 1000000;
-delete from trs_hycloud_iip.wcmtemplateemploy where templateemployid > 1000000;
-delete from trs_hycloud_iip.wcmtemplatenest where templatenestid > 1000000;
-delete from trs_hycloud_iip.wcmtemplatequote where templatequoteid > 1000000;
-
-
-delete from trs_hycloud_iip.wcmappendix where appendixid > 10000000;
-delete from trs_hycloud_iip.wcmchnldoc where recid > 10000000;
-delete from trs_hycloud_iip.wcmdocument where docid > 10000000;
-
-delete from trs_mas.mas_masid where id > 1000000;
-delete from trs_mas.mas_masvideo where id > 1000000;
+DROP PROCEDURE IF EXISTS sp_recover_city;
+DELIMITER $$
+CREATE PROCEDURE sp_recover_city()
+
+  BEGIN
+
+    # xx ID 偏移量,获取海云系统中的对应 xx maxID 错开一段距离,改为存入最大id
+
+	  SET @site_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmwebsite'), 0);
+	  IF (@site_offset_num > 0)
+	    then
+        DELETE from trs_hycloud_iip.wcmclassification where CNAME like '贵州迁移站点__city%';
+        DELETE from trs_hycloud_iip.wcmclassificationobj where OBJTYPE = 103 and OBJID > @site_offset_num;
+        delete from trs_hycloud_iip.wcmwebsite where siteid > @site_offset_num;
+    END IF ;
+
+	  SET @view_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmviewinfo'), 0);
+	  IF (@view_offset_num > 0)
+	    then
+        delete from trs_hycloud_iip.xwcmviewinfo where viewinfoid > @view_offset_num;
+    END IF ;
+
+
+	  SET @tabel_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmtableinfo'), 0);
+	  IF (@tabel_offset_num > 0)
+	    then
+        delete from trs_hycloud_iip.xwcmtableinfo where tableinfoid > @tabel_offset_num;
+    END IF ;
+
+	  SET @group_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmmetaviewfieldgroup'), 0);
+    IF (@group_offset_num > 0)
+      then
+        delete from trs_hycloud_iip.xwcmmetaviewfieldgroup where metaviewfieldgroupid > @group_offset_num;
+    end if;
+
+	  SET @class_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmclassinfoview'), 0);
+    IF (@class_offset_num > 0)
+      then
+        delete from trs_hycloud_iip.xwcmclassinfoview where classinfoviewid > @class_offset_num;
+    end if;
+
+	  SET @classinfo_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmclassinfo'), 0);
+	  IF (@classinfo_offset_num > 0)
+	    then
+        delete from trs_hycloud_iip.xwcmclassinfo where classinfoid > @classinfo_offset_num;
+    end if;
+
+    SET @db_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmdbfieldinfo'), 0);
+	  IF (@db_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.xwcmdbfieldinfo where dbfieldinfoid > @db_offset_num;
+    END IF ;
+
+    SET @employer_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmmetaviewemployer'), 0);
+	  IF (@employer_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.xwcmmetaviewemployer where metaviewemployerid > @employer_offset_num;
+    END IF ;
+
+    SET @xwcmviewfieldinfo_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'xwcmviewfieldinfo'), 0);
+	  IF (@xwcmviewfieldinfo_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.xwcmviewfieldinfo where viewfieldinfoid > @xwcmviewfieldinfo_offset_num;
+    END IF ;
+
+    SET @wcmchannel_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmchannel'), 0);
+	  IF (@wcmchannel_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmchannel where channelid > @wcmchannel_offset_num;
+    END IF ;
+
+    SET @wcmchannelsyn_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmchannelsyn'), 0);
+	  IF (@wcmchannelsyn_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmchannelsyn where channelsynid > @wcmchannelsyn_offset_num;
+    END IF ;
+
+    SET @wcmtemplate_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmtemplate'), 0);
+	  IF (@wcmtemplate_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmtemplate where tempid > @wcmtemplate_offset_num;
+    END IF ;
+
+    SET @config_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmfolderpublishconfig'), 0);
+	  IF (@config_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmfolderpublishconfig where folderpublishconfigid > @config_offset_num;
+    END IF ;
+
+    SET @cwcmtemplateargument_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmtemplateargument'), 0);
+	  IF (@cwcmtemplateargument_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmtemplateargument where templateargumentid > @cwcmtemplateargument_offset_num;
+    END IF ;
+
+    SET @wcmtemplateemploy_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmtemplateemploy'), 0);
+	  IF (@wcmtemplateemploy_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmtemplateemploy where templateemployid > @wcmtemplateemploy_offset_num;
+    END IF ;
+
+    SET @wcmtemplatenest_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmtemplatenest'), 0);
+	  IF (@wcmtemplatenest_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmtemplatenest where templatenestid > @wcmtemplatenest_offset_num;
+    END IF ;
+
+    SET @wcmtemplatequote_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmtemplatequote'), 0);
+	  IF (@wcmtemplatequote_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmtemplatequote where templatequoteid > @wcmtemplatequote_offset_num;
+    END IF ;
+
+    SET @wcmappendix_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmappendix'), 0);
+	  IF (@wwcmtemplatequote_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmappendix where appendixid > @wcmappendix_offset_num;
+    END IF ;
+
+    SET @wcmchnldoc_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmchnldoc'), 0);
+	  IF (@wcmchnldoc_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmchnldoc where recid > @wcmchnldoc_offset_num;
+    END IF ;
+
+    SET @wcmdocument_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'wcmdocument'), 0);
+	  IF (@wcmdocument_offset_num > 0)
+	    then
+      delete from trs_hycloud_iip.wcmdocument where docid > @wcmdocument_offset_num;
+    END IF ;
+
+    SET @mas_masid_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'mas_masid'), 0);
+	  IF (@mas_masid_offset_num > 0)
+	    then
+      delete from trs_mas.mas_masid where id > @mas_masid_offset_num;
+    END IF ;
+
+    SET @mas_masvideo_offset_num = ifnull((SELECT max(offset_num) FROM data_migration_offset WHERE table_name = 'mas_masvideo'), 0);
+	  IF (@mas_masvideo_offset_num > 0)
+	    then
+      delete from trs_mas.mas_masvideo where id > @mas_masvideo_offset_num;
+    END IF ;
+
+    delete from trs_data_migration.data_migration_log;
 
-delete from trs_data_migration.data_migration_log;
+  END $$
+DELIMITER ;
 
 /**
 # 清理元数据

+ 2 - 2
TRS.WCM.Developer/贵州项目/全量迁移/3_sp_data_migration_wcmchnldoc.sql

@@ -74,9 +74,9 @@ CREATE PROCEDURE sp_data_migration_wcmchnldoc (
 	OPERTIME,
 	MODAL,
 	DOCRELTIME,
-	DOCCHANNEL,
+	DOCCHANNEL + channelIdOffset,
 	DOCFLAG,
-	DOCKIND,
+	DOCKIND + docKindOffset,
 	SITEID + siteIdOffset,
 	SRCSITEID,
 	DOCFIRSTPUBTIME,

+ 1 - 1
TRS.WCM.Developer/贵州项目/全量迁移/3_sp_data_migration_wcmdocument.sql

@@ -177,7 +177,7 @@ CREATE PROCEDURE sp_data_migration_wcmdocument (
 	NULL,
 	0,
 	0,
-	0
+	DOCID + docIdOffset
 	FROM
 		trs_data_migration.wcmdocument
 	where DOCID > prevDocId

+ 35 - 17
TRS.WCM.Developer/贵州项目/全量迁移/3_sp_data_migration_wcmmetatable.sql

@@ -50,32 +50,50 @@ CREATE PROCEDURE sp_data_migration_wcmmetatable(IN citySuffix VARCHAR(20),
 
             # 由于元数据表是动态生成的,执行存储过程前,需要提前将所有元数据表(结构+数据)直接复制至海云
             # 迁移后的元数据,其元数据ID不能和其他元数据表中的ID发生冲突,需要更改,因此有了以下SQL
-            SET @log_sql = concat('UPDATE trs_hycloud_iip.wcmmetatable', f_TABLENAME, citySuffix,
+            SET @update_sql = concat('UPDATE trs_hycloud_iip.wcmmetatable', f_TABLENAME, citySuffix,
                               ' SET MetaDataId = MetaDataId + ', docIdOffset,
                               ', ChannelId = ChannelId + ', channelIdOffset,
                               ' WHERE MetaDataId > ', prevDocId);
 
-            select concat('更新元数据sql: ', @log_sql );
-            prepare stmt from @log_sql;
+            select concat('更新元数据sql: ', @update_sql ) info;
+            prepare stmt from @update_sql;
             EXECUTE stmt;
             deallocate prepare stmt;
-            #更新当前表的ID字段名称
-            set @id_field_sql = concat('ALTER TABLE trs_hycloud_iip.wcmmetatable', f_TABLENAME, citySuffix,
-            ' CHANGE COLUMN `WCMMetaTable',f_TABLENAME,
+
+            if prevTableInfoId = 0
+              then
+                #更新当前表的ID字段名称
+                set @id_field_sql = concat('ALTER TABLE trs_hycloud_iip.wcmmetatable', f_TABLENAME, citySuffix,
+                ' CHANGE COLUMN `WCMMetaTable',f_TABLENAME,
                                  'ID` `wcmmetatable',f_TABLENAME, citySuffix,
                                  'ID`  int(11) NOT NULL;');
-            prepare stmt from @id_field_sql;
-            EXECUTE stmt;
-            deallocate prepare stmt;
-            #设置ID的最大值
-            set @max_sql = concat('SELECT max(wcmmetatable', f_TABLENAME, citySuffix, 'ID) into @meta_data_id from trs_hycloud_iip.wcmmetatable', f_TABLENAME, citySuffix);
-            prepare stmt from @max_sql;
-            EXECUTE stmt;
-            deallocate prepare stmt;
-
-            set @id_sql = concat('INSERT INTO trs_hycloud_iip.wcmid VALUES (','\'','wcmmetatable',
+                select concat('更新元数据sql: ', @id_field_sql ) info;
+                prepare stmt from @id_field_sql;
+                EXECUTE stmt;
+                deallocate prepare stmt;
+
+                #设置ID的最大值
+                set @max_sql = concat('SELECT max(wcmmetatable', f_TABLENAME, citySuffix, 'ID) into @meta_data_id from trs_hycloud_iip.wcmmetatable', f_TABLENAME, citySuffix);
+                prepare stmt from @max_sql;
+                EXECUTE stmt;
+                deallocate prepare stmt;
+
+                set @id_sql = concat('INSERT INTO trs_hycloud_iip.wcmid VALUES (','\'','wcmmetatable',
                                  f_TABLENAME, citySuffix, '\'',', ', @meta_data_id + 1,', 1, ','\'','wcmmetatable',f_TABLENAME, citySuffix,'ID','\'',');');
-            prepare stmt from @id_sql;
+                select concat('更新元数据sql: ', @id_sql ) info;
+                prepare stmt from @id_sql;
+                EXECUTE stmt;
+                deallocate prepare stmt;
+            else
+              #设置ID的最大值
+              set @max_sql = concat('SELECT max(wcmmetatable', f_TABLENAME, citySuffix, 'ID) into @meta_data_id from trs_hycloud_iip.wcmmetatable', f_TABLENAME, citySuffix);
+              prepare stmt from @max_sql;
+              EXECUTE stmt;
+              deallocate prepare stmt;
+            end if ;
+
+            SET @log_sql = trs_data_migration.build_migration_log_sql(concat('wcmmetatable', f_TABLENAME, citySuffix), @meta_data_id, now());
+            prepare stmt from @log_sql;
             EXECUTE stmt;
             deallocate prepare stmt;
 

+ 0 - 0
TRS.WCM.Developer/贵州项目/3_sp_data_migration_wcmchnldoc.sql → TRS.WCM.Developer/贵州项目/增量迁移/3_sp_data_migration_wcmchnldoc.sql


+ 0 - 0
TRS.WCM.Developer/贵州项目/3_sp_data_migration_wcmdocument.sql → TRS.WCM.Developer/贵州项目/增量迁移/3_sp_data_migration_wcmdocument.sql


+ 0 - 0
TRS.WCM.Developer/贵州项目/3_sp_data_migration_wcmmetablexx.sql → TRS.WCM.Developer/贵州项目/增量迁移/3_sp_data_migration_wcmmetablexx.sql


+ 20 - 0
TRS.WCM.Developer/贵州项目/3_sp_data_migration_wcmmetatable.sql → TRS.WCM.Developer/贵州项目/增量迁移/3_sp_data_migration_wcmmetatable.sql

@@ -61,6 +61,26 @@ CREATE PROCEDURE sp_data_migration_wcmmetatable(IN citySuffix VARCHAR(20),
 
             call sp_data_migration_wcmmetablexx(concat('wcmmetatable', f_TABLENAME, citySuffix), prevDocId, docIdOffset, channelIdOffset);
 
+            #更新当前表的ID字段名称
+            set @id_field_sql = concat('ALTER TABLE trs_hycloud_iip.wcmmetatable', f_TABLENAME, citySuffix,
+            ' CHANGE COLUMN `WCMMetaTable',f_TABLENAME,
+                                 'ID` `wcmmetatable',f_TABLENAME, citySuffix,
+                                 'ID`  int(11) NOT NULL;');
+            prepare stmt from @id_field_sql;
+            EXECUTE stmt;
+            deallocate prepare stmt;
+            #设置ID的最大值
+            set @max_sql = concat('SELECT max(wcmmetatable', f_TABLENAME, citySuffix, 'ID) into @meta_data_id from trs_hycloud_iip.wcmmetatable', f_TABLENAME, citySuffix);
+            prepare stmt from @max_sql;
+            EXECUTE stmt;
+            deallocate prepare stmt;
+
+            set @id_sql = concat('INSERT INTO trs_hycloud_iip.wcmid VALUES (','\'','wcmmetatable',
+                                 f_TABLENAME, citySuffix, '\'',', ', @meta_data_id + 1,', 1, ','\'','wcmmetatable',f_TABLENAME, citySuffix,'ID','\'',');');
+            prepare stmt from @id_sql;
+            EXECUTE stmt;
+            deallocate prepare stmt;
+
             select concat('完成更新 ', 'wcmmetatable', f_TABLENAME, citySuffix, '.MetaDataId & ChannelId') info;
         END IF ;