boss 2 weeks ago
parent
commit
1887b4fea4

+ 3 - 0
fs-service/src/main/java/com/fs/utils/TenantUtils.java

@@ -100,6 +100,9 @@ public class TenantUtils {
                 new EncodedResource(new ClassPathResource("db/tenant-initTable.sql"), StandardCharsets.UTF_8));
         ScriptUtils.executeSqlScript(conn,
                 new EncodedResource(new ClassPathResource("db/tenant-initData.sql"), StandardCharsets.UTF_8));
+        // 补充后续迭代新增的表结构(以 ylrz_saas_tenant_1 参考库的完整DDL)
+        ScriptUtils.executeSqlScript(conn,
+                new EncodedResource(new ClassPathResource("db/tenant-initTable-migration.sql"), StandardCharsets.UTF_8));
 
         conn.close();
     }

+ 1354 - 0
fs-service/src/main/resources/db/tenant-initTable-migration.sql

@@ -0,0 +1,1354 @@
+-- =============================================
+-- 租户初始化迁移脚本 - 补充缺失表结构
+-- 以 ylrz_saas_tenant_1 为参考库
+-- 生成时间: Fri May 22 23:14:20 CST 2026
+-- 本脚本为租户创建时在 tenant-initTable.sql 之后执行
+-- ylrz_saas 管理库专用的 Bridge 镜像表(lobster_prompt/lobster_dead_letter)
+-- 不出现在此脚本中,租户库侧使用真实表(lobster_system_prompt/lobster_message_delivery_log)
+-- =============================================
+
+SET FOREIGN_KEY_CHECKS = 0;
+
+-- Table: ai_generation_record
+CREATE TABLE IF NOT EXISTS `ai_generation_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint DEFAULT NULL COMMENT '公司ID',
+  `user_id` bigint DEFAULT NULL COMMENT '用户ID',
+  `prompt` text COMMENT '用户输入/需求描述',
+  `status` varchar(20) DEFAULT 'pending' COMMENT '状态:pending/processing/completed/failed',
+  `result_json` text COMMENT '生成结果JSON(工作流定义)',
+  `error_msg` text COMMENT '错误信息',
+  `model_used` varchar(50) DEFAULT NULL COMMENT '使用的模型',
+  `tokens_used` int DEFAULT '0' COMMENT '消耗tokens',
+  `duration_ms` int DEFAULT '0' COMMENT '耗时(毫秒)',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company_id` (`company_id`),
+  KEY `idx_status` (`status`),
+  KEY `idx_create_time` (`create_time`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='AI工作流生成记录';
+
+-- Table: ai_sip_call_biz_group
+CREATE TABLE IF NOT EXISTS `ai_sip_call_biz_group` (
+  `group_id` bigint NOT NULL AUTO_INCREMENT,
+  `biz_group_name` varchar(100) DEFAULT NULL,
+  `sort_no` int DEFAULT '0',
+  `notes` varchar(500) DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `remote_group_id` bigint DEFAULT NULL,
+  PRIMARY KEY (`group_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: ai_sip_call_gateway
+CREATE TABLE IF NOT EXISTS `ai_sip_call_gateway` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `gw_name` varchar(100) DEFAULT NULL,
+  `profile_name` varchar(100) DEFAULT NULL,
+  `caller` varchar(50) DEFAULT NULL,
+  `callee_prefix` varchar(20) DEFAULT NULL,
+  `gw_addr` varchar(100) DEFAULT NULL,
+  `codec` varchar(20) DEFAULT NULL,
+  `gw_desc` varchar(500) DEFAULT NULL,
+  `max_concurrency` bigint DEFAULT '10',
+  `auth_username` varchar(100) DEFAULT NULL,
+  `auth_password` varchar(100) DEFAULT NULL,
+  `priority` bigint DEFAULT '5',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `register` bigint DEFAULT '0',
+  `configs` text,
+  `purpose` bigint DEFAULT '3',
+  `remote_gateway_id` bigint DEFAULT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: ai_sip_call_llm_agent_account
+CREATE TABLE IF NOT EXISTS `ai_sip_call_llm_agent_account` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `account_json` text,
+  `provider_class_name` varchar(200) DEFAULT NULL,
+  `name` varchar(100) DEFAULT NULL,
+  `account_entity` varchar(200) DEFAULT NULL,
+  `interrupt_flag` int DEFAULT '0',
+  `interrupt_keywords` varchar(500) DEFAULT NULL,
+  `interrupt_ignore_keywords` varchar(500) DEFAULT NULL,
+  `intention_tips` varchar(500) DEFAULT NULL,
+  `concurrent_num` int DEFAULT '1',
+  `transfer_manual_digit` varchar(50) DEFAULT NULL,
+  `kb_cat_id` bigint DEFAULT NULL,
+  `remote_llm_agent_account_id` bigint DEFAULT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: ai_sip_call_outbound_cdr
+CREATE TABLE IF NOT EXISTS `ai_sip_call_outbound_cdr` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `caller` varchar(50) DEFAULT NULL,
+  `opnum` varchar(50) DEFAULT NULL,
+  `callee` varchar(50) DEFAULT NULL,
+  `start_time` datetime DEFAULT NULL,
+  `answered_time` datetime DEFAULT NULL,
+  `end_time` datetime DEFAULT NULL,
+  `uuid` varchar(100) DEFAULT NULL,
+  `call_type` int DEFAULT '0',
+  `time_len` int DEFAULT '0',
+  `time_len_valid` int DEFAULT '0',
+  `record_filename` varchar(500) DEFAULT NULL,
+  `chat_content` text,
+  `hangup_cause` varchar(50) DEFAULT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: ai_sip_call_phone
+CREATE TABLE IF NOT EXISTS `ai_sip_call_phone` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `batch_id` bigint DEFAULT NULL,
+  `telephone` varchar(20) DEFAULT NULL,
+  `cust_name` varchar(50) DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `callstatus` int DEFAULT '0',
+  `callout_time` datetime DEFAULT NULL,
+  `callcount` int DEFAULT '0',
+  `call_end_time` datetime DEFAULT NULL,
+  `time_len` int DEFAULT '0',
+  `valid_time_len` int DEFAULT '0',
+  `uuid` varchar(100) DEFAULT NULL,
+  `connected_time` datetime DEFAULT NULL,
+  `hangup_cause` varchar(50) DEFAULT NULL,
+  `answered_time` datetime DEFAULT NULL,
+  `dialogue` text,
+  `wavfile` varchar(200) DEFAULT NULL,
+  `record_server_url` varchar(500) DEFAULT NULL,
+  `biz_json` text,
+  `dialogue_count` int DEFAULT '0',
+  `acd_opnum` varchar(50) DEFAULT NULL,
+  `acd_queue_time` int DEFAULT '0',
+  `acd_wait_time` int DEFAULT '0',
+  `tts_text` text,
+  `empty_number_detection_text` text,
+  `intent` varchar(50) DEFAULT NULL,
+  `asr_seconds` decimal(10,2) DEFAULT '0.00',
+  `tts_times` int DEFAULT '0',
+  `tts_flow_tokens` int DEFAULT '0',
+  `input_tokens` int DEFAULT '0',
+  `output_tokens` int DEFAULT '0',
+  `total_cost` decimal(10,4) DEFAULT '0.0000',
+  `billing_status` int DEFAULT '0',
+  `caller_number` varchar(20) DEFAULT NULL,
+  `ivr_dtmf_digits` varchar(50) DEFAULT NULL,
+  `manual_answered_time` datetime DEFAULT NULL,
+  `manual_answered_time_len` int DEFAULT '0',
+  PRIMARY KEY (`id`),
+  KEY `idx_batch_id` (`batch_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: ai_sip_call_task
+CREATE TABLE IF NOT EXISTS `ai_sip_call_task` (
+  `batch_id` bigint NOT NULL AUTO_INCREMENT,
+  `batch_name` varchar(100) DEFAULT NULL,
+  `task_status` int DEFAULT '0',
+  `caller` varchar(50) DEFAULT NULL,
+  `gateway_id` bigint DEFAULT NULL,
+  `biz_group_id` bigint DEFAULT NULL,
+  `llm_agent_account_id` bigint DEFAULT NULL,
+  `voice_tts_aliyun_id` bigint DEFAULT NULL,
+  `total_count` int DEFAULT '0',
+  `finished_count` int DEFAULT '0',
+  `answered_count` int DEFAULT '0',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `company_id` bigint DEFAULT NULL,
+  PRIMARY KEY (`batch_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: ai_sip_call_user
+CREATE TABLE IF NOT EXISTS `ai_sip_call_user` (
+  `user_id` bigint NOT NULL AUTO_INCREMENT,
+  `dept_id` bigint DEFAULT NULL,
+  `login_name` varchar(50) DEFAULT NULL,
+  `user_name` varchar(50) DEFAULT NULL,
+  `user_type` varchar(10) DEFAULT NULL,
+  `email` varchar(50) DEFAULT NULL,
+  `phonenumber` varchar(20) DEFAULT NULL,
+  `sex` char(1) DEFAULT '0',
+  `avatar` varchar(200) DEFAULT NULL,
+  `password` varchar(200) DEFAULT NULL,
+  `salt` varchar(20) DEFAULT NULL,
+  `status` char(1) DEFAULT '0',
+  `del_flag` char(1) DEFAULT '0',
+  `login_ip` varchar(50) DEFAULT NULL,
+  `login_date` datetime DEFAULT NULL,
+  `pwd_update_date` datetime DEFAULT NULL,
+  `remark` varchar(500) DEFAULT NULL,
+  `logo` varchar(200) DEFAULT NULL,
+  `ext_num` varchar(20) DEFAULT NULL,
+  `create_by` varchar(64) DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_by` varchar(64) DEFAULT NULL,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `company_id` bigint DEFAULT NULL,
+  `company_user_id` bigint DEFAULT NULL,
+  `gateway_ids` varchar(200) DEFAULT NULL,
+  PRIMARY KEY (`user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: ai_sip_call_voice_tts_aliyun
+CREATE TABLE IF NOT EXISTS `ai_sip_call_voice_tts_aliyun` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `voice_name` varchar(100) DEFAULT NULL,
+  `voice_code` varchar(100) DEFAULT NULL,
+  `voice_enabled` int DEFAULT '1',
+  `voice_source` varchar(50) DEFAULT NULL,
+  `priority` int DEFAULT '5',
+  `provider` varchar(50) DEFAULT NULL,
+  `remote_voice_tts_aliyun_id` bigint DEFAULT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: billing_detail
+CREATE TABLE IF NOT EXISTS `billing_detail` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `tenant_id` bigint NOT NULL,
+  `statement_id` bigint DEFAULT NULL,
+  `event_id` varchar(64) NOT NULL,
+  `event_type` varchar(32) NOT NULL,
+  `sub_type` varchar(32) DEFAULT NULL,
+  `plan_code` varchar(64) NOT NULL,
+  `plan_version` int NOT NULL,
+  `unit_price` decimal(18,6) NOT NULL,
+  `usage_value` decimal(20,6) NOT NULL,
+  `charge_value` decimal(20,6) NOT NULL COMMENT '?????????????',
+  `amount` decimal(18,6) NOT NULL,
+  `billing_mode` varchar(16) NOT NULL COMMENT 'PREPAID/POSTPAID',
+  `occurred_at` datetime NOT NULL,
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_event_type_sub` (`event_id`,`event_type`,`sub_type`),
+  KEY `idx_tenant_time` (`tenant_id`,`occurred_at`),
+  KEY `idx_statement` (`statement_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='????';
+
+-- Table: billing_statement
+CREATE TABLE IF NOT EXISTS `billing_statement` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `statement_no` varchar(64) NOT NULL,
+  `tenant_id` bigint NOT NULL,
+  `period_type` varchar(16) NOT NULL COMMENT 'DAILY/MONTHLY',
+  `period_start` datetime NOT NULL,
+  `period_end` datetime NOT NULL,
+  `total_amount` decimal(18,2) NOT NULL DEFAULT '0.00',
+  `paid_amount` decimal(18,2) NOT NULL DEFAULT '0.00',
+  `unpaid_amount` decimal(18,2) NOT NULL DEFAULT '0.00',
+  `status` varchar(16) NOT NULL DEFAULT 'INIT' COMMENT 'INIT/CONFIRMED/PAID/PARTIAL',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_statement_no` (`statement_no`),
+  KEY `idx_tenant_period` (`tenant_id`,`period_start`,`period_end`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='????';
+
+-- Table: billing_statement_item
+CREATE TABLE IF NOT EXISTS `billing_statement_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `statement_id` bigint NOT NULL,
+  `item_code` varchar(64) NOT NULL,
+  `amount` decimal(18,2) NOT NULL DEFAULT '0.00',
+  `usage_value` decimal(20,6) NOT NULL DEFAULT '0.000000',
+  `unit` varchar(32) DEFAULT NULL,
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_stmt_item` (`statement_id`,`item_code`),
+  KEY `idx_statement_id` (`statement_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='?????';
+
+-- Table: cc_llm_agent_account
+CREATE TABLE IF NOT EXISTS `cc_llm_agent_account` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `name` varchar(100) DEFAULT NULL,
+  `account_json` text,
+  `provider_class_name` varchar(200) DEFAULT NULL,
+  `account_entity` varchar(200) DEFAULT NULL,
+  `interrupt_flag` tinyint DEFAULT '0',
+  `interrupt_keywords` varchar(500) DEFAULT NULL,
+  `interrupt_ignore_keywords` varchar(500) DEFAULT NULL,
+  `intention_tips` varchar(500) DEFAULT NULL,
+  `concurrent_num` int DEFAULT '1',
+  `transfer_manual_digit` varchar(50) DEFAULT NULL,
+  `kb_cat_id` bigint DEFAULT NULL,
+  `company_id` bigint DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: cc_llm_agent_provider
+CREATE TABLE IF NOT EXISTS `cc_llm_agent_provider` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `name` varchar(100) DEFAULT NULL,
+  `class_name` varchar(200) DEFAULT NULL,
+  `config_json` text,
+  `company_id` bigint DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: cc_llm_kb
+CREATE TABLE IF NOT EXISTS `cc_llm_kb` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `name` varchar(100) DEFAULT NULL,
+  `cat_id` bigint DEFAULT NULL,
+  `company_id` bigint DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: cc_llm_kb_cat
+CREATE TABLE IF NOT EXISTS `cc_llm_kb_cat` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `name` varchar(100) DEFAULT NULL,
+  `parent_id` bigint DEFAULT '0',
+  `company_id` bigint DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: company_external_api_call_log
+CREATE TABLE IF NOT EXISTS `company_external_api_call_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `config_id` bigint DEFAULT NULL COMMENT '配置ID',
+  `api_code` varchar(100) DEFAULT NULL COMMENT '接口编码',
+  `http_method` varchar(20) DEFAULT NULL COMMENT '请求方式',
+  `request_url` varchar(500) DEFAULT NULL COMMENT '请求地址',
+  `request_headers_json` text COMMENT '请求头JSON',
+  `request_body` text COMMENT '请求体',
+  `response_status` int DEFAULT NULL COMMENT '响应状态码',
+  `response_body` text COMMENT '响应体',
+  `success` int DEFAULT NULL COMMENT '1成功0失败',
+  `error_message` varchar(500) DEFAULT NULL COMMENT '错误信息',
+  `duration_ms` bigint DEFAULT NULL COMMENT '耗时ms',
+  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+  `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
+  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+  `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
+  PRIMARY KEY (`id`),
+  KEY `idx_config_id` (`config_id`),
+  KEY `idx_api_code` (`api_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='外部接口调用日志';
+
+-- Table: company_external_api_config
+CREATE TABLE IF NOT EXISTS `company_external_api_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `api_type` varchar(50) DEFAULT NULL COMMENT '接口类型',
+  `api_name` varchar(200) DEFAULT NULL COMMENT '接口名称',
+  `api_code` varchar(100) DEFAULT NULL COMMENT '接口编码',
+  `api_url` varchar(500) DEFAULT NULL COMMENT '请求地址',
+  `http_method` varchar(20) DEFAULT NULL COMMENT '请求方式',
+  `rate_window_seconds` int DEFAULT NULL COMMENT '限频窗口秒数',
+  `rate_max_count` int DEFAULT NULL COMMENT '限频最大次数',
+  `priority` int DEFAULT '0' COMMENT '优先级',
+  `status` int DEFAULT '1' COMMENT '状态1启用0停用',
+  `default_headers_json` text COMMENT '默认请求头JSON',
+  `default_body_json` text COMMENT '默认请求参数JSON',
+  `timeout_ms` int DEFAULT '5000' COMMENT '超时时间ms',
+  `is_del` int DEFAULT '0' COMMENT '逻辑删除',
+  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+  `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
+  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+  `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_api_code` (`api_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='外部接口配置';
+
+-- Table: company_voice_robotic_call_blacklist
+CREATE TABLE IF NOT EXISTS `company_voice_robotic_call_blacklist` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `business_type` tinyint DEFAULT NULL,
+  `target_type` tinyint DEFAULT NULL,
+  `target_value` varchar(100) DEFAULT NULL,
+  `company_id` bigint DEFAULT NULL,
+  `reason` varchar(500) DEFAULT NULL,
+  `source` varchar(50) DEFAULT NULL,
+  `status` tinyint DEFAULT '1',
+  `remark` varchar(500) DEFAULT NULL,
+  `create_by` varchar(64) DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_by` varchar(64) DEFAULT NULL,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `deleted` tinyint DEFAULT '0',
+  PRIMARY KEY (`id`),
+  KEY `idx_company_id` (`company_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: crm_customer_analyze
+CREATE TABLE IF NOT EXISTS `crm_customer_analyze` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `customer_id` bigint NOT NULL COMMENT '客户id',
+  `customer_name` varchar(255) DEFAULT NULL COMMENT '客户姓名',
+  `customer_portrait_json` varchar(2000) DEFAULT NULL COMMENT '客户画像',
+  `communication_abstract` varchar(1000) DEFAULT NULL COMMENT '沟通摘要',
+  `communication_summary` varchar(1000) DEFAULT NULL COMMENT '沟通总结',
+  `attrition_level` tinyint DEFAULT '0' COMMENT '流失风险等级',
+  `attrition_level_prompt` varchar(1000) DEFAULT NULL COMMENT '流失风险等级提示',
+  `customer_focus_json` varchar(1000) DEFAULT NULL COMMENT '客户关注点',
+  `intention_degree` varchar(10) DEFAULT NULL COMMENT '意向度',
+  `ai_chat_record` text COMMENT 'ai通话聊天记录',
+  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+  `remark` varchar(255) DEFAULT '' COMMENT '备注',
+  `reserve_int` bigint DEFAULT '0',
+  `reserve_str` varchar(1000) DEFAULT '',
+  PRIMARY KEY (`id`),
+  KEY `idx_customer_id` (`customer_id`),
+  KEY `idx_customer_time_id` (`customer_id`,`create_time`,`id`),
+  FULLTEXT KEY `idx_ai_chat_record_fulltext` (`ai_chat_record`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: crm_customer_call_log
+CREATE TABLE IF NOT EXISTS `crm_customer_call_log` (
+  `log_id` bigint NOT NULL AUTO_INCREMENT,
+  `customer_id` bigint DEFAULT NULL COMMENT '客户ID',
+  `run_time` datetime DEFAULT NULL COMMENT '记录调用时间',
+  `run_param` text COMMENT '调用参数',
+  `result` text COMMENT '回调返回结果',
+  `status` tinyint DEFAULT NULL COMMENT '执行状态:1执行中2成功3失败',
+  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+  `record_path` varchar(1000) DEFAULT NULL COMMENT '录音地址',
+  `content_list` text COMMENT '通话详细列表',
+  `caller_num` varchar(50) DEFAULT NULL COMMENT '客户号码',
+  `callee_num` varchar(50) DEFAULT NULL COMMENT '话术号码',
+  `uuid` varchar(100) DEFAULT NULL COMMENT '通话的唯一标识',
+  `call_create_time` bigint DEFAULT NULL COMMENT '呼入时间',
+  `call_answer_time` bigint DEFAULT NULL COMMENT '应答时间',
+  `intention` varchar(255) DEFAULT NULL COMMENT '客户类型',
+  `company_id` int DEFAULT NULL COMMENT '公司id',
+  `company_user_id` bigint DEFAULT NULL COMMENT '销售id',
+  `call_time` int DEFAULT NULL COMMENT '通话时长',
+  `cost` decimal(10,2) DEFAULT NULL COMMENT '花费金额',
+  `create_by` varchar(255) DEFAULT NULL,
+  `update_by` varchar(255) DEFAULT NULL,
+  `update_time` datetime DEFAULT NULL,
+  PRIMARY KEY (`log_id`),
+  KEY `idx_customer_id` (`customer_id`),
+  KEY `idx_create_time` (`create_time`),
+  KEY `idx_company_id` (`company_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: crm_customer_property
+CREATE TABLE IF NOT EXISTS `crm_customer_property` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `customer_id` bigint DEFAULT NULL COMMENT '客户ID',
+  `property_id` bigint DEFAULT NULL COMMENT '字段ID',
+  `property_name` varchar(100) DEFAULT NULL COMMENT '字段名称',
+  `property_value` varchar(500) DEFAULT NULL COMMENT '字段内容',
+  `property_value_type` varchar(50) DEFAULT NULL COMMENT '字段类型',
+  `trade_type` varchar(50) DEFAULT NULL COMMENT '行业类型',
+  `ai_analysis` text COMMENT '内容解析',
+  `intention` varchar(50) DEFAULT NULL COMMENT '意向登记',
+  `like_ratio` int DEFAULT NULL COMMENT '喜欢占比',
+  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+  `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
+  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+  `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
+  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
+  `delete_by` varchar(64) DEFAULT NULL,
+  `delete_time` datetime DEFAULT NULL,
+  `deleted` int DEFAULT '0',
+  PRIMARY KEY (`id`),
+  KEY `idx_customer_id` (`customer_id`),
+  KEY `idx_property_id` (`property_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='CRM客户属性';
+
+-- Table: crm_customer_property_template
+CREATE TABLE IF NOT EXISTS `crm_customer_property_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `name` varchar(100) DEFAULT NULL COMMENT '属性名称',
+  `value_type` varchar(50) DEFAULT NULL COMMENT '属性类型',
+  `ai_hint` varchar(500) DEFAULT NULL COMMENT 'AI属性提取提示',
+  `trade_type` varchar(50) DEFAULT NULL COMMENT '行业类型',
+  `intention` int DEFAULT '0' COMMENT '是否有意向度0否1是',
+  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+  `create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
+  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
+  `update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
+  `remark` varchar(500) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='CRM客户属性模板';
+
+-- Table: fee_plan
+CREATE TABLE IF NOT EXISTS `fee_plan` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `plan_code` varchar(64) NOT NULL COMMENT '????',
+  `plan_name` varchar(128) NOT NULL COMMENT '????',
+  `version` int NOT NULL COMMENT '???',
+  `status` varchar(16) NOT NULL DEFAULT 'DRAFT' COMMENT 'DRAFT/PUBLISHED/ARCHIVED',
+  `effective_time` datetime DEFAULT NULL COMMENT '????',
+  `expire_time` datetime DEFAULT NULL COMMENT '????',
+  `remark` varchar(500) DEFAULT NULL,
+  `create_by` varchar(64) DEFAULT NULL,
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_by` varchar(64) DEFAULT NULL,
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_plan_ver` (`plan_code`,`version`),
+  KEY `idx_status` (`status`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='??????';
+
+-- Table: fee_plan_flow_tier
+CREATE TABLE IF NOT EXISTS `fee_plan_flow_tier` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `plan_code` varchar(64) NOT NULL,
+  `version` int NOT NULL,
+  `min_prepay_amount` decimal(18,2) NOT NULL COMMENT '??????(?)',
+  `max_prepay_amount` decimal(18,2) DEFAULT NULL COMMENT '??????(??,?????)',
+  `unit_price` decimal(18,6) NOT NULL COMMENT '????(?/GB)',
+  `sort_no` int NOT NULL DEFAULT '0',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_tier` (`plan_code`,`version`,`min_prepay_amount`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='??????';
+
+-- Table: fee_plan_item
+CREATE TABLE IF NOT EXISTS `fee_plan_item` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `plan_code` varchar(64) NOT NULL,
+  `version` int NOT NULL,
+  `item_code` varchar(64) NOT NULL COMMENT 'FLOW_POSTPAID/CALL_OUT/CALL_IN/AI_CALL/SOP_TOKEN/AI_REPLY_TOKEN/ADD_WECHAT/OPEN_ACCOUNT_NON_AI/OPEN_ACCOUNT_AI',
+  `unit` varchar(32) NOT NULL COMMENT 'GB/MIN/TOKEN/COUNT/TIME',
+  `unit_price` decimal(18,6) NOT NULL DEFAULT '0.000000' COMMENT '??',
+  `token_unit` bigint DEFAULT NULL COMMENT 'token????(?100000)',
+  `min_charge_unit` int DEFAULT NULL COMMENT '??????(?????1??)',
+  `enabled` tinyint NOT NULL DEFAULT '1',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_plan_item` (`plan_code`,`version`,`item_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='?????';
+
+-- Table: fs_health_article
+CREATE TABLE IF NOT EXISTS `fs_health_article` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `title` varchar(200) NOT NULL COMMENT '文章标题',
+  `summary` varchar(500) DEFAULT NULL COMMENT '摘要',
+  `content` text COMMENT '文章内容(富文本)',
+  `category` varchar(50) DEFAULT 'general' COMMENT '分类',
+  `keywords` varchar(200) DEFAULT NULL COMMENT '关键词',
+  `cover_image` varchar(500) DEFAULT NULL COMMENT '封面图',
+  `author` varchar(50) DEFAULT NULL COMMENT '作者',
+  `source` varchar(100) DEFAULT NULL COMMENT '来源',
+  `read_count` int DEFAULT '0' COMMENT '阅读量',
+  `like_count` int DEFAULT '0' COMMENT '点赞量',
+  `company_id` bigint DEFAULT NULL COMMENT '公司ID',
+  `status` tinyint DEFAULT '1' COMMENT '状态:1发布/0草稿/-1删除',
+  `is_top` tinyint DEFAULT '0' COMMENT '是否置顶',
+  `publish_time` datetime DEFAULT NULL COMMENT '发布时间',
+  `create_by` varchar(64) DEFAULT NULL,
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_by` varchar(64) DEFAULT NULL,
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company_id` (`company_id`),
+  KEY `idx_status` (`status`),
+  KEY `idx_category` (`category`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='健康文章管理';
+
+-- Table: fs_pharmacist
+CREATE TABLE IF NOT EXISTS `fs_pharmacist` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `name` varchar(50) NOT NULL COMMENT '药师姓名',
+  `title` varchar(50) DEFAULT NULL COMMENT '职称',
+  `gender` varchar(10) DEFAULT NULL COMMENT '性别',
+  `avatar` varchar(500) DEFAULT NULL COMMENT '头像',
+  `phone` varchar(20) DEFAULT NULL COMMENT '手机号',
+  `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
+  `department` varchar(100) DEFAULT NULL COMMENT '科室',
+  `hospital_name` varchar(200) DEFAULT NULL COMMENT '所属医院',
+  `license_no` varchar(100) DEFAULT NULL COMMENT '执业证号',
+  `specialty` varchar(500) DEFAULT NULL COMMENT '专长领域',
+  `description` text COMMENT '简介',
+  `consultation_count` int DEFAULT '0' COMMENT '咨询量',
+  `rating` decimal(2,1) DEFAULT '5.0' COMMENT '评分',
+  `company_id` bigint DEFAULT NULL COMMENT '公司ID',
+  `status` tinyint DEFAULT '1' COMMENT '状态:1启用/0禁用',
+  `sort_order` int DEFAULT '0' COMMENT '排序',
+  `create_by` varchar(64) DEFAULT NULL,
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_by` varchar(64) DEFAULT NULL,
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company_id` (`company_id`),
+  KEY `idx_status` (`status`),
+  KEY `idx_name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='药师管理';
+
+-- Table: fs_store_log
+CREATE TABLE IF NOT EXISTS `fs_store_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `store_id` bigint DEFAULT NULL COMMENT '店铺ID',
+  `store_name` varchar(200) DEFAULT NULL COMMENT '店铺名称',
+  `user_id` bigint DEFAULT NULL COMMENT '操作用户ID',
+  `user_name` varchar(50) DEFAULT NULL COMMENT '操作用户名',
+  `action_type` varchar(50) NOT NULL COMMENT '操作类型(create/update/delete/login/etc)',
+  `action_desc` varchar(500) DEFAULT NULL COMMENT '操作描述',
+  `module` varchar(50) DEFAULT NULL COMMENT '操作模块',
+  `target_type` varchar(50) DEFAULT NULL COMMENT '操作对象类型',
+  `target_id` bigint DEFAULT NULL COMMENT '操作对象ID',
+  `request_params` text COMMENT '请求参数',
+  `response_result` text COMMENT '响应结果',
+  `ip_address` varchar(50) DEFAULT NULL COMMENT 'IP地址',
+  `user_agent` varchar(500) DEFAULT NULL COMMENT 'User-Agent',
+  `company_id` bigint DEFAULT NULL COMMENT '公司ID',
+  `status` tinyint DEFAULT '1' COMMENT '状态:1成功/0失败',
+  `duration_ms` int DEFAULT '0' COMMENT '耗时(毫秒)',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
+  PRIMARY KEY (`id`),
+  KEY `idx_company_id` (`company_id`),
+  KEY `idx_store_id` (`store_id`),
+  KEY `idx_action_type` (`action_type`),
+  KEY `idx_create_time` (`create_time`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='店铺操作日志';
+
+-- Table: lobster_api_registry
+CREATE TABLE IF NOT EXISTS `lobster_api_registry` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `api_name` varchar(200) NOT NULL,
+  `api_key` varchar(100) NOT NULL,
+  `api_url` varchar(500) DEFAULT NULL,
+  `api_type` varchar(50) DEFAULT NULL,
+  `api_description` text,
+  `request_method` varchar(10) DEFAULT 'POST',
+  `request_headers` text,
+  `request_body_template` text,
+  `response_mapping` text,
+  `enabled` tinyint DEFAULT '1',
+  `category` varchar(100) DEFAULT NULL,
+  `company_id` bigint DEFAULT NULL,
+  `create_by` varchar(64) DEFAULT '',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_by` varchar(64) DEFAULT '',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_api_key` (`api_key`),
+  KEY `idx_category` (`category`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='API注册中心';
+
+-- Table: lobster_billing_record
+CREATE TABLE IF NOT EXISTS `lobster_billing_record` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `billing_type` varchar(50) DEFAULT NULL,
+  `token_count` int DEFAULT '0',
+  `token_coefficient` decimal(10,4) DEFAULT '1.0000',
+  `amount` decimal(10,4) DEFAULT '0.0000',
+  `workflow_instance_id` bigint DEFAULT NULL,
+  `node_code` varchar(100) DEFAULT NULL,
+  `model_name` varchar(100) DEFAULT NULL,
+  `company_id` bigint DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company` (`company_id`),
+  KEY `idx_billing_type` (`billing_type`),
+  KEY `idx_create_time` (`create_time`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='Token计费记录';
+
+-- Table: lobster_chat_aggregate
+CREATE TABLE IF NOT EXISTS `lobster_chat_aggregate` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `session_id` varchar(100) DEFAULT NULL,
+  `external_user_id` varchar(100) DEFAULT NULL,
+  `channel_type` varchar(20) DEFAULT NULL,
+  `message_type` varchar(20) DEFAULT NULL,
+  `content` text,
+  `direction` varchar(10) DEFAULT NULL,
+  `workflow_instance_id` bigint DEFAULT NULL,
+  `node_code` varchar(100) DEFAULT NULL,
+  `company_id` bigint DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_session` (`session_id`),
+  KEY `idx_external_user` (`external_user_id`),
+  KEY `idx_company` (`company_id`),
+  KEY `idx_create_time` (`create_time`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='聚合聊天记录';
+
+-- Table: lobster_compliance_rule
+CREATE TABLE IF NOT EXISTS `lobster_compliance_rule` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint DEFAULT NULL,
+  `rule_name` varchar(200) DEFAULT NULL,
+  `rule_type` varchar(50) DEFAULT NULL,
+  `pattern` text,
+  `description` text,
+  `action` varchar(200) DEFAULT NULL,
+  `severity` int DEFAULT NULL,
+  `enabled` int DEFAULT '1',
+  `del_flag` int DEFAULT '0',
+  `create_by` varchar(64) DEFAULT NULL,
+  `create_time` datetime DEFAULT NULL,
+  `update_by` varchar(64) DEFAULT NULL,
+  `update_time` datetime DEFAULT NULL,
+  PRIMARY KEY (`id`),
+  KEY `idx_company_id` (`company_id`),
+  KEY `idx_rule_type` (`rule_type`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='龙虾合规规则';
+
+-- Table: lobster_conversation_summary
+CREATE TABLE IF NOT EXISTS `lobster_conversation_summary` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint DEFAULT NULL,
+  `instance_id` bigint DEFAULT NULL,
+  `contact_id` bigint DEFAULT NULL,
+  `summary_type` varchar(50) DEFAULT NULL,
+  `summary_content` text,
+  `key_points` text,
+  `sentiment_analysis` varchar(200) DEFAULT NULL,
+  `next_action_suggestion` text,
+  `message_count` int DEFAULT '0',
+  `del_flag` int DEFAULT '0',
+  `create_by` varchar(64) DEFAULT NULL,
+  `create_time` datetime DEFAULT NULL,
+  `update_by` varchar(64) DEFAULT NULL,
+  `update_time` datetime DEFAULT NULL,
+  PRIMARY KEY (`id`),
+  KEY `idx_company_id` (`company_id`),
+  KEY `idx_instance_id` (`instance_id`),
+  KEY `idx_contact_id` (`contact_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='龙虾对话摘要';
+
+-- Table: lobster_dead_letter_queue
+CREATE TABLE IF NOT EXISTS `lobster_dead_letter_queue` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `workflow_instance_id` bigint DEFAULT NULL,
+  `node_code` varchar(100) DEFAULT NULL,
+  `error_message` text,
+  `payload` text,
+  `retry_count` int DEFAULT '0',
+  `status` varchar(20) DEFAULT 'pending',
+  `company_id` bigint DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_workflow_instance` (`workflow_instance_id`),
+  KEY `idx_status` (`status`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='死信队列';
+
+-- Table: lobster_dialogue_state
+CREATE TABLE IF NOT EXISTS `lobster_dialogue_state` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint DEFAULT NULL,
+  `instance_id` bigint NOT NULL,
+  `node_code` varchar(100) NOT NULL,
+  `state_json` text,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_instance_node` (`instance_id`,`node_code`),
+  KEY `idx_company` (`company_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: lobster_event_audit_log
+CREATE TABLE IF NOT EXISTS `lobster_event_audit_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `workflow_instance_id` bigint DEFAULT NULL,
+  `node_code` varchar(100) DEFAULT NULL,
+  `event_type` varchar(50) DEFAULT NULL,
+  `event_data` text,
+  `audit_status` varchar(20) DEFAULT 'pending',
+  `auditor` varchar(100) DEFAULT NULL,
+  `audit_remark` text,
+  `company_id` bigint DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_workflow_instance` (`workflow_instance_id`),
+  KEY `idx_audit_status` (`audit_status`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='节点审核日志';
+
+-- Table: lobster_event_node_audit
+CREATE TABLE IF NOT EXISTS `lobster_event_node_audit` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint DEFAULT NULL COMMENT '公司ID',
+  `instance_id` bigint DEFAULT NULL COMMENT '工作流实例ID',
+  `workflow_id` varchar(100) DEFAULT NULL COMMENT '工作流ID',
+  `node_key` varchar(100) DEFAULT NULL COMMENT '节点key',
+  `node_name` varchar(200) DEFAULT NULL COMMENT '节点名称',
+  `node_type` varchar(50) DEFAULT NULL COMMENT '节点类型',
+  `node_json` text COMMENT '节点完整JSON',
+  `insert_at` varchar(50) DEFAULT NULL COMMENT '插入位置(before/after)',
+  `insert_ref_node` varchar(100) DEFAULT NULL COMMENT '参考节点key',
+  `decision_engine` varchar(100) DEFAULT NULL COMMENT '决策引擎名称',
+  `decision_score` decimal(5,2) DEFAULT NULL COMMENT 'AI决策置信度',
+  `decision_reason` text COMMENT 'AI决策理由',
+  `status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '状态:pending/approved/rejected',
+  `audit_by` varchar(64) DEFAULT NULL COMMENT '审核人',
+  `audit_comment` varchar(500) DEFAULT NULL COMMENT '审核备注',
+  `audit_time` datetime DEFAULT NULL COMMENT '审核时间',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company_status` (`company_id`,`status`),
+  KEY `idx_instance_id` (`instance_id`),
+  KEY `idx_status` (`status`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='龙虾事件节点审核';
+
+-- Table: lobster_evolution_log
+CREATE TABLE IF NOT EXISTS `lobster_evolution_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint NOT NULL COMMENT '租户ID',
+  `workflow_id` bigint DEFAULT NULL COMMENT '工作流ID',
+  `instance_id` bigint DEFAULT NULL COMMENT '工作流实例ID',
+  `contact_id` bigint DEFAULT NULL COMMENT '联系人ID',
+  `channel_type` varchar(20) DEFAULT NULL COMMENT '通道类型:IM/WX/QW',
+  `node_code` varchar(100) DEFAULT NULL COMMENT '节点编码',
+  `sent_message` text COMMENT '发送的消息内容',
+  `customer_reply` text COMMENT '客户回复内容',
+  `outcome` varchar(50) DEFAULT NULL COMMENT '结果:replied/no_reply/converted/churned',
+  `variables` text COMMENT '工作流变量快照JSON',
+  `duration_ms` bigint DEFAULT NULL COMMENT '交互耗时(毫秒)',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company_workflow` (`company_id`,`workflow_id`),
+  KEY `idx_company_node` (`company_id`,`node_code`)
+) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='进化引擎-交互日志表';
+
+-- Table: lobster_evolution_suggestion
+CREATE TABLE IF NOT EXISTS `lobster_evolution_suggestion` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint NOT NULL COMMENT '租户ID',
+  `workflow_id` bigint DEFAULT NULL COMMENT '工作流ID',
+  `node_code` varchar(100) DEFAULT NULL COMMENT '节点编码',
+  `suggestion_type` varchar(50) DEFAULT NULL COMMENT '建议类型:message_optimize/timing_adjust/flow_restructure',
+  `current_content` text COMMENT '当前内容',
+  `suggested_content` text COMMENT '建议内容',
+  `confidence` double DEFAULT NULL COMMENT '置信度',
+  `reason` text COMMENT '优化原因',
+  `status` tinyint DEFAULT '0' COMMENT '状态:0-待审核,1-已应用,2-已拒绝',
+  `apply_time` datetime DEFAULT NULL COMMENT '应用时间',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company` (`company_id`),
+  KEY `idx_status` (`company_id`,`status`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='进化引擎-优化建议表';
+
+-- Table: lobster_heartbeat_registry
+CREATE TABLE IF NOT EXISTS `lobster_heartbeat_registry` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `instance_id` bigint NOT NULL,
+  `company_id` bigint NOT NULL,
+  `workflow_id` bigint NOT NULL,
+  `contact_id` bigint DEFAULT NULL,
+  `channel_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'QW',
+  `interval_ms` bigint DEFAULT '300000',
+  `timeout_ms` bigint DEFAULT '86400000',
+  `max_retries` int DEFAULT '3',
+  `auto_execute` tinyint DEFAULT '1',
+  `status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'ACTIVE',
+  `last_heartbeat` datetime DEFAULT CURRENT_TIMESTAMP,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_instance_id` (`instance_id`),
+  KEY `idx_company` (`company_id`),
+  KEY `idx_status` (`status`),
+  KEY `idx_last_heartbeat` (`last_heartbeat`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='龙虾引擎-心跳注册表';
+
+-- Table: lobster_message_delivery_log
+CREATE TABLE IF NOT EXISTS `lobster_message_delivery_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint NOT NULL,
+  `instance_id` bigint DEFAULT NULL,
+  `workflow_id` bigint DEFAULT NULL,
+  `contact_id` bigint DEFAULT NULL,
+  `channel_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `channel_user_id` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
+  `msg_type` int DEFAULT '1',
+  `channel_msg_id` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+  `success` tinyint DEFAULT '0',
+  `error_msg` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company` (`company_id`),
+  KEY `idx_instance` (`instance_id`),
+  KEY `idx_channel_type` (`channel_type`),
+  KEY `idx_create_time` (`create_time`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='龙虾引擎-消息触达日志';
+
+-- Table: lobster_model_config
+CREATE TABLE IF NOT EXISTS `lobster_model_config` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `model_name` varchar(100) NOT NULL,
+  `model_key` varchar(100) NOT NULL,
+  `provider` varchar(100) DEFAULT NULL,
+  `api_endpoint` varchar(500) DEFAULT NULL,
+  `max_tokens` int DEFAULT '4096',
+  `temperature` decimal(3,2) DEFAULT '0.70',
+  `enabled` tinyint DEFAULT '1',
+  `token_coefficient` decimal(10,4) DEFAULT '1.0000',
+  `company_id` bigint DEFAULT NULL,
+  `create_by` varchar(64) DEFAULT '',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_by` varchar(64) DEFAULT '',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_model_key` (`model_key`),
+  KEY `idx_company` (`company_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='模型配置';
+
+-- Table: lobster_node_execution_log
+CREATE TABLE IF NOT EXISTS `lobster_node_execution_log` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint DEFAULT NULL,
+  `instance_id` bigint DEFAULT NULL,
+  `workflow_id` bigint DEFAULT NULL,
+  `node_index` int DEFAULT NULL,
+  `node_type` varchar(50) DEFAULT NULL,
+  `node_name` varchar(100) DEFAULT NULL,
+  `input_content` text,
+  `output_content` text,
+  `status` varchar(50) DEFAULT NULL,
+  `retry_count` int DEFAULT '0',
+  `del_flag` int DEFAULT '0',
+  `create_by` varchar(64) DEFAULT NULL,
+  `create_time` datetime DEFAULT NULL,
+  `update_by` varchar(64) DEFAULT NULL,
+  `update_time` datetime DEFAULT NULL,
+  `ai_model` varchar(100) DEFAULT NULL,
+  `duration_ms` bigint DEFAULT NULL,
+  `token_usage` int DEFAULT NULL,
+  `error_message` text,
+  PRIMARY KEY (`id`),
+  KEY `idx_instance_id` (`instance_id`),
+  KEY `idx_company_id` (`company_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: lobster_optimization_suggestion
+CREATE TABLE IF NOT EXISTS `lobster_optimization_suggestion` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `workflow_id` bigint DEFAULT NULL,
+  `suggestion_type` varchar(50) DEFAULT NULL,
+  `suggestion_content` text,
+  `score` decimal(5,2) DEFAULT NULL,
+  `status` varchar(20) DEFAULT 'pending',
+  `applied_at` datetime DEFAULT NULL,
+  `company_id` bigint DEFAULT NULL,
+  `create_by` varchar(64) DEFAULT '',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_by` varchar(64) DEFAULT '',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_workflow` (`workflow_id`),
+  KEY `idx_status` (`status`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='优化建议';
+
+-- Table: lobster_sales_corpus
+CREATE TABLE IF NOT EXISTS `lobster_sales_corpus` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `dialog_text` text,
+  `scenario` varchar(100) DEFAULT NULL,
+  `score` decimal(5,2) DEFAULT NULL,
+  `source_type` varchar(50) DEFAULT NULL,
+  `external_user_id` varchar(100) DEFAULT NULL,
+  `company_id` bigint DEFAULT NULL,
+  `tags` varchar(500) DEFAULT NULL,
+  `enabled` tinyint DEFAULT '1',
+  `create_by` varchar(64) DEFAULT '',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_by` varchar(64) DEFAULT '',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_scenario` (`scenario`),
+  KEY `idx_company` (`company_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='销冠语料库';
+
+-- Table: lobster_system_prompt
+CREATE TABLE IF NOT EXISTS `lobster_system_prompt` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `prompt_key` varchar(100) NOT NULL COMMENT '唯一键',
+  `prompt_name` varchar(200) DEFAULT NULL COMMENT '提示词名称',
+  `prompt_category` varchar(50) DEFAULT NULL COMMENT '分类: rag/ai/code_collect/handoff/kb',
+  `prompt_content` text NOT NULL COMMENT '提示词内容',
+  `model_name` varchar(100) DEFAULT 'doubao-lite' COMMENT '推荐模型',
+  `system_role` varchar(500) DEFAULT NULL COMMENT 'system角色提示',
+  `enabled` int DEFAULT '1' COMMENT '1启用0禁用',
+  `sort_order` int DEFAULT '0',
+  `create_by` varchar(64) DEFAULT 'admin',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `company_id` bigint DEFAULT NULL COMMENT '租户ID,NULL=系统默认',
+  `industry_type` varchar(50) DEFAULT NULL COMMENT '行业类型: travel/medical/education/insurance/general,NULL=通用',
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `prompt_key` (`prompt_key`),
+  KEY `idx_category` (`prompt_category`),
+  KEY `idx_enabled` (`enabled`),
+  KEY `idx_company_industry` (`company_id`,`industry_type`)
+) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: lobster_unified_contact
+CREATE TABLE IF NOT EXISTS `lobster_unified_contact` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint NOT NULL,
+  `contact_id` bigint NOT NULL,
+  `contact_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+  `contact_phone` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+  `channel_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `channel_user_id` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+  `extra` json DEFAULT NULL,
+  `del_flag` tinyint DEFAULT '0',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_contact_channel` (`company_id`,`contact_id`,`channel_type`),
+  KEY `idx_company` (`company_id`),
+  KEY `idx_channel_type` (`channel_type`),
+  KEY `idx_channel_user` (`channel_user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='龙虾引擎-统一联系人';
+
+-- Table: lobster_user_node_optimization
+CREATE TABLE IF NOT EXISTS `lobster_user_node_optimization` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint NOT NULL,
+  `workflow_id` bigint DEFAULT NULL,
+  `external_user_id` varchar(64) NOT NULL,
+  `node_code` varchar(64) NOT NULL,
+  `original_content` text,
+  `optimized_content` text,
+  `optimization_type` varchar(50) DEFAULT NULL,
+  `confidence` double DEFAULT NULL,
+  `optimization_reason` varchar(500) DEFAULT NULL,
+  `optimization_detail` text,
+  `status` varchar(20) DEFAULT 'pending',
+  `auditor_id` varchar(64) DEFAULT NULL,
+  `audit_remark` varchar(500) DEFAULT NULL,
+  `audit_time` datetime DEFAULT NULL,
+  `apply_time` datetime DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company_user` (`company_id`,`external_user_id`),
+  KEY `idx_company_status` (`company_id`,`status`),
+  KEY `idx_company_user_node` (`company_id`,`external_user_id`,`node_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: lobster_workflow_instance
+CREATE TABLE IF NOT EXISTS `lobster_workflow_instance` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `company_id` bigint DEFAULT NULL,
+  `workflow_id` bigint DEFAULT NULL,
+  `instance_name` varchar(200) DEFAULT NULL,
+  `status` varchar(20) DEFAULT 'pending',
+  `contact_id` bigint DEFAULT NULL,
+  `contact_name` varchar(100) DEFAULT NULL,
+  `channel_type` varchar(20) DEFAULT 'QW',
+  `current_node_index` int DEFAULT '0',
+  `current_node_name` varchar(100) DEFAULT NULL,
+  `total_nodes` int DEFAULT '0',
+  `completed_nodes` int DEFAULT '0',
+  `context_snapshot` text,
+  `variables` text,
+  `start_time` varchar(30) DEFAULT NULL,
+  `end_time` varchar(30) DEFAULT NULL,
+  `last_activity_time` varchar(30) DEFAULT NULL,
+  `error_message` text,
+  `del_flag` int DEFAULT '0',
+  `create_by` varchar(64) DEFAULT NULL,
+  `create_time` datetime DEFAULT NULL,
+  `update_by` varchar(64) DEFAULT NULL,
+  `update_time` datetime DEFAULT NULL,
+  `handoff_agent` varchar(100) DEFAULT NULL COMMENT '转人工目标',
+  `handoff_reason` varchar(500) DEFAULT NULL COMMENT '转人工原因',
+  `control_mode` varchar(20) DEFAULT 'ai' COMMENT '控制模式: ai=龙虾接管, human=人工接管',
+  `control_updated_by` varchar(64) DEFAULT NULL COMMENT '切换操作人',
+  `control_updated_at` datetime DEFAULT NULL COMMENT '切换时间',
+  PRIMARY KEY (`id`),
+  KEY `idx_company_id` (`company_id`),
+  KEY `idx_workflow_id` (`workflow_id`),
+  KEY `idx_contact_id` (`contact_id`),
+  KEY `idx_status` (`status`)
+) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: lobster_workflow_node
+CREATE TABLE IF NOT EXISTS `lobster_workflow_node` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `instance_id` bigint NOT NULL,
+  `node_code` varchar(100) NOT NULL,
+  `node_config` text,
+  `deleted` int DEFAULT '0',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_instance` (`instance_id`),
+  KEY `idx_node_code` (`node_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: proxy_balance
+CREATE TABLE IF NOT EXISTS `proxy_balance` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `proxy_id` bigint NOT NULL COMMENT '代理ID',
+  `balance` decimal(18,4) DEFAULT '0.0000' COMMENT '余额',
+  `frozen_amount` decimal(18,4) DEFAULT '0.0000' COMMENT '冻结金额',
+  `total_recharge` decimal(18,4) DEFAULT '0.0000' COMMENT '累计充值',
+  `total_spend` decimal(18,4) DEFAULT '0.0000' COMMENT '累计消费',
+  `total_commission` decimal(18,4) DEFAULT '0.0000' COMMENT '累计佣金',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `idx_proxy_id` (`proxy_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代理余额';
+
+-- Table: proxy_info
+CREATE TABLE IF NOT EXISTS `proxy_info` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `proxy_id` bigint NOT NULL COMMENT '代理ID',
+  `tenant_count` int DEFAULT '0' COMMENT '发展客户数',
+  `active_tenant_count` int DEFAULT '0' COMMENT '活跃客户数',
+  `total_revenue` decimal(18,4) DEFAULT '0.0000' COMMENT '总营收',
+  `this_month_revenue` decimal(18,4) DEFAULT '0.0000' COMMENT '本月营收',
+  `total_commission` decimal(18,4) DEFAULT '0.0000' COMMENT '累计佣金',
+  `last_active_time` datetime DEFAULT NULL COMMENT '最后活跃时间',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `idx_proxy_id` (`proxy_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代理扩展信息';
+
+-- Table: proxy_module_usage
+CREATE TABLE IF NOT EXISTS `proxy_module_usage` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `proxy_id` bigint NOT NULL COMMENT '代理ID',
+  `tenant_id` bigint NOT NULL COMMENT '租户ID',
+  `module_code` varchar(50) NOT NULL COMMENT '模块编码',
+  `module_name` varchar(100) NOT NULL COMMENT '模块名称',
+  `usage_date` date NOT NULL COMMENT '统计日期',
+  `call_count` int DEFAULT '0' COMMENT '调用次数',
+  `amount` decimal(10,2) DEFAULT '0.00' COMMENT '消费金额',
+  `platform_cost` decimal(10,2) DEFAULT '0.00' COMMENT '平台成本',
+  `profit` decimal(10,2) DEFAULT '0.00' COMMENT '利润',
+  `month` varchar(7) DEFAULT NULL COMMENT '统计月份',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_proxy_date` (`proxy_id`,`usage_date`),
+  KEY `idx_tenant_date` (`tenant_id`,`usage_date`),
+  KEY `idx_module` (`module_code`),
+  KEY `idx_month` (`month`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='代理模块使用统计';
+
+-- Table: qw_customer_property
+CREATE TABLE IF NOT EXISTS `qw_customer_property` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT 'id',
+  `external_user_id` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '客户ID',
+  `property_id` bigint DEFAULT NULL COMMENT '字段ID',
+  `property_name` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '字段名称',
+  `property_value` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '字段内容',
+  `property_value_type` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '字段类型',
+  `trade_type` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '行业类型',
+  `ai_analysis` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '内容解析',
+  `intention` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '意向登记:high-高意向,medium-中意向,low-低意向,none-无意向',
+  `like_ratio` int DEFAULT NULL COMMENT '喜欢占比:0-100',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `create_by` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
+  `update_by` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
+  `remark` varchar(300) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注',
+  `deleted` tinyint(1) DEFAULT '0' COMMENT '是否删除 0否 1是',
+  `delete_by` varchar(300) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '删除人',
+  `delete_time` datetime DEFAULT NULL COMMENT '删除时间',
+  `corp_id` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '企业id',
+  `qw_user_id` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '属于用户id',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `qw_id_index` (`external_user_id`,`corp_id`,`qw_user_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+
+-- Table: qw_external_ai_analyze
+CREATE TABLE IF NOT EXISTS `qw_external_ai_analyze` (
+  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `external_user_id` varchar(255) COLLATE utf8mb4_general_ci NOT NULL COMMENT '外部联系人id',
+  `customer_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '客户姓名',
+  `customer_portrait_json` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '客户画像',
+  `communication_abstract` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '沟通摘要',
+  `communication_summary` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '沟通总结',
+  `attrition_level` tinyint DEFAULT '0' COMMENT '流失风险等级 0:未知;1:无风险;2:低风险;3:中风险;4:高风险',
+  `attrition_level_prompt` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '流失风险等级提示',
+  `customer_focus_json` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '客户关注点',
+  `intention_degree` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '意向度',
+  `ai_chat_record` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT 'ai通话聊天记录',
+  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
+  `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
+  `reserve_int` bigint DEFAULT '0' COMMENT '预留数字型字段',
+  `reserve_str` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '预留字符串型字段',
+  `corp_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '企业id',
+  `qw_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '属于用户id',
+  `session_id` bigint DEFAULT NULL COMMENT 'qw_external_ai_analyze_session的iD,ai会话',
+  PRIMARY KEY (`id`) USING BTREE,
+  KEY `idx_customer_id` (`external_user_id`) USING BTREE,
+  KEY `idx_customer_time_id` (`external_user_id`,`create_time`,`id`) USING BTREE,
+  KEY `indx_user_bind` (`external_user_id`,`corp_id`,`qw_user_id`) USING BTREE COMMENT '用户关系唯一绑定',
+  FULLTEXT KEY `idx_ai_chat_record_fulltext` (`ai_chat_record`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+
+-- Table: qw_external_ai_analyze_session
+CREATE TABLE IF NOT EXISTS `qw_external_ai_analyze_session` (
+  `session_id` bigint NOT NULL AUTO_INCREMENT,
+  `external_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+  `corp_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '企业id',
+  `qw_user_id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '属于用户id',
+  PRIMARY KEY (`session_id`),
+  UNIQUE KEY `idx_session` (`external_user_id`,`corp_id`,`qw_user_id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+
+-- Table: tenant_balance
+CREATE TABLE IF NOT EXISTS `tenant_balance` (
+  `balance_id` bigint NOT NULL AUTO_INCREMENT,
+  `tenant_id` bigint NOT NULL,
+  `tenant_name` varchar(100) DEFAULT NULL,
+  `total_balance` decimal(12,2) DEFAULT '0.00',
+  `ai_model_balance` decimal(10,2) DEFAULT '0.00',
+  `course_flow_balance` decimal(10,4) DEFAULT '0.0000',
+  `live_flow_balance` decimal(10,4) DEFAULT '0.0000',
+  `token_balance` decimal(10,2) DEFAULT '0.00',
+  `sms_balance` decimal(10,2) DEFAULT '0.00',
+  `manual_call_balance` decimal(10,2) DEFAULT '0.00',
+  `ai_call_balance` decimal(10,2) DEFAULT '0.00',
+  `wechat_helper_balance` decimal(10,2) DEFAULT '0.00',
+  `frozen_amount` decimal(12,2) DEFAULT '0.00',
+  `total_recharge` decimal(12,2) DEFAULT '0.00',
+  `total_consume` decimal(12,2) DEFAULT '0.00',
+  `account_fee_expire_time` date DEFAULT NULL,
+  `status` tinyint DEFAULT '1',
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `token_coefficient` decimal(4,2) DEFAULT '1.00',
+  PRIMARY KEY (`balance_id`),
+  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: tenant_consume_record
+CREATE TABLE IF NOT EXISTS `tenant_consume_record` (
+  `record_id` bigint NOT NULL AUTO_INCREMENT,
+  `tenant_id` bigint NOT NULL,
+  `tenant_name` varchar(100) DEFAULT NULL,
+  `proxy_id` bigint DEFAULT NULL COMMENT '代理ID',
+  `consume_type` tinyint NOT NULL,
+  `consume_type_name` varchar(50) DEFAULT NULL,
+  `amount` decimal(10,2) NOT NULL,
+  `platform_cost` decimal(10,2) DEFAULT '0.00' COMMENT '平台成本',
+  `tenant_price` decimal(10,2) DEFAULT '0.00' COMMENT '租户价格',
+  `proxy_ratio` decimal(5,2) DEFAULT '0.00' COMMENT '代理分成比例',
+  `proxy_profit` decimal(10,2) DEFAULT '0.00' COMMENT '代理利润',
+  `unit_price` decimal(10,4) DEFAULT NULL,
+  `quantity` int DEFAULT NULL,
+  `before_balance` decimal(10,2) DEFAULT NULL,
+  `after_balance` decimal(10,2) DEFAULT NULL,
+  `description` varchar(500) DEFAULT NULL COMMENT '描述',
+  `month` varchar(7) DEFAULT NULL COMMENT '月份',
+  `remark` varchar(500) DEFAULT NULL,
+  `order_no` varchar(50) DEFAULT NULL,
+  `status` tinyint DEFAULT '1',
+  `fail_reason` varchar(500) DEFAULT NULL,
+  `consume_time` datetime DEFAULT NULL,
+  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`record_id`),
+  KEY `idx_tenant_id` (`tenant_id`),
+  KEY `idx_consume_type` (`consume_type`),
+  KEY `idx_consume_time` (`consume_time`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+
+-- Table: tenant_wallet
+CREATE TABLE IF NOT EXISTS `tenant_wallet` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `tenant_id` bigint NOT NULL,
+  `balance_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '????',
+  `frozen_amount` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '????',
+  `credit_limit` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '????(?????)',
+  `total_recharge` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '????',
+  `total_cost` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '????',
+  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_tenant_wallet` (`tenant_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='????';
+
+-- Table: tenant_wallet_txn
+CREATE TABLE IF NOT EXISTS `tenant_wallet_txn` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `tenant_id` bigint NOT NULL,
+  `txn_no` varchar(64) NOT NULL,
+  `txn_type` varchar(32) NOT NULL COMMENT 'RECHARGE/CONSUME/ADJUST/REFUND',
+  `amount` decimal(18,2) NOT NULL COMMENT '?????????',
+  `balance_after` decimal(18,2) NOT NULL,
+  `biz_type` varchar(64) DEFAULT NULL COMMENT 'FLOW/CALL/TOKEN/ADD_WECHAT/OPEN_ACCOUNT',
+  `biz_id` varchar(64) DEFAULT NULL COMMENT '????ID',
+  `remark` varchar(500) DEFAULT NULL,
+  `create_by` varchar(64) DEFAULT NULL,
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_txn_no` (`txn_no`),
+  KEY `idx_tenant_time` (`tenant_id`,`create_time`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='????';
+
+-- Table: usage_event
+CREATE TABLE IF NOT EXISTS `usage_event` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `event_id` varchar(64) NOT NULL COMMENT '??ID',
+  `tenant_id` bigint NOT NULL,
+  `event_type` varchar(32) NOT NULL COMMENT 'FLOW/CALL/TOKEN_SOP/TOKEN_AI_REPLY/ADD_WECHAT/OPEN_ACCOUNT',
+  `sub_type` varchar(32) DEFAULT NULL COMMENT 'CALL_IN/CALL_OUT/AI_CALL ?',
+  `biz_id` varchar(64) DEFAULT NULL,
+  `usage_value` decimal(20,6) NOT NULL,
+  `usage_unit` varchar(32) NOT NULL COMMENT 'GB/MB/SECOND/TOKEN/COUNT',
+  `occurred_at` datetime NOT NULL,
+  `ext_json` json DEFAULT NULL,
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `uk_event_id` (`event_id`),
+  KEY `idx_tenant_type_time` (`tenant_id`,`event_type`,`occurred_at`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='????';
+
+-- Table: workflow_instance
+CREATE TABLE IF NOT EXISTS `workflow_instance` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `template_id` bigint DEFAULT NULL COMMENT '模板ID',
+  `template_name` varchar(200) DEFAULT NULL COMMENT '模板名称',
+  `company_id` bigint DEFAULT NULL COMMENT '公司ID',
+  `workflow_id` varchar(100) DEFAULT NULL COMMENT '工作流定义ID',
+  `workflow_version` varchar(20) DEFAULT NULL COMMENT '工作流版本',
+  `current_node_key` varchar(100) DEFAULT NULL COMMENT '当前节点key',
+  `current_node_name` varchar(200) DEFAULT NULL COMMENT '当前节点名称',
+  `current_node_type` varchar(50) DEFAULT NULL COMMENT '当前节点类型',
+  `status` varchar(30) DEFAULT 'running' COMMENT '状态:running/completed/failed/paused/cancelled',
+  `variables` text COMMENT '运行时变量JSON',
+  `business_key` varchar(200) DEFAULT NULL COMMENT '业务关联key',
+  `start_time` datetime DEFAULT NULL COMMENT '开始时间',
+  `end_time` datetime DEFAULT NULL COMMENT '结束时间',
+  `duration_ms` bigint DEFAULT '0' COMMENT '运行时长(毫秒)',
+  `error_message` text COMMENT '错误信息',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company_id` (`company_id`),
+  KEY `idx_status` (`status`),
+  KEY `idx_create_time` (`create_time`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流实例监控(Bridge视图)';
+
+-- Table: workflow_template
+CREATE TABLE IF NOT EXISTS `workflow_template` (
+  `id` bigint NOT NULL AUTO_INCREMENT,
+  `template_name` varchar(200) NOT NULL COMMENT '模板名称',
+  `description` varchar(500) DEFAULT NULL COMMENT '描述',
+  `category` varchar(50) DEFAULT 'general' COMMENT '分类',
+  `tags` varchar(200) DEFAULT NULL COMMENT '标签(逗号分隔)',
+  `industry_type` varchar(50) DEFAULT NULL COMMENT '行业类型',
+  `canvas_data` longtext COMMENT '画布数据JSON',
+  `thumbnail` varchar(500) DEFAULT NULL COMMENT '缩略图',
+  `version` varchar(20) DEFAULT '1.0' COMMENT '版本',
+  `is_public` tinyint DEFAULT '0' COMMENT '是否公开模板',
+  `company_id` bigint DEFAULT NULL COMMENT '公司ID(null=系统模板)',
+  `used_count` int DEFAULT '0' COMMENT '使用次数',
+  `status` tinyint DEFAULT '1' COMMENT '状态:1启用/0禁用',
+  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
+  PRIMARY KEY (`id`),
+  KEY `idx_company_id` (`company_id`),
+  KEY `idx_category` (`category`),
+  KEY `idx_is_public` (`is_public`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='工作流模板库';
+
+SET FOREIGN_KEY_CHECKS = 1;

+ 924 - 0
sql/cleanup_tenant_tables.sql

@@ -0,0 +1,924 @@
+-- ============================================================================
+-- ylrz_saas 租户表清理脚本(安全版)
+-- 前提: 所有租户已有独立数据库,租户数据已在独立库中
+-- 安全规则:
+--   1. 表必须存在于 ylrz_saas_tenant_1 参考库中(已备份验证)
+--   2. 表不是 admin 模块直接使用的(sys_/tenant_/proxy_ 等)
+--   3. 表不是 Bridge 控制器通过 JdbcTemplate 访问的
+--   4. 表不是双模块共享的(company_user, qw_user 等)
+-- ============================================================================
+
+-- 执行前验证: 确认所有租户数据库正常运行
+-- SELECT id, tenant_name, db_url, db_name FROM tenant_info;
+
+-- ============================================================================
+-- 待删除表(按前缀分组,共 388 张)
+-- ============================================================================
+
+-- --- ad_domain_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_domain`;
+
+-- --- ad_dy_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_dy_account`;
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_dy_api`;
+
+-- --- ad_html_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_html_template`;
+
+-- --- ad_iqiyi_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_iqiyi_account`;
+
+-- --- ad_site_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_site`;
+
+-- --- ad_upload_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_upload_log`;
+
+-- --- ad_youku_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_youku_account`;
+
+-- --- bd_api_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`bd_api`;
+
+-- --- bd_creative_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`bd_creative_statistics`;
+
+-- --- bd_report_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`bd_report_data`;
+
+-- --- chat_dataset_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_dataset`;
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_dataset_file`;
+
+-- --- chat_keyword_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_keyword`;
+
+-- --- chat_msg_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_msg_logs`;
+
+-- --- chat_role_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_role`;
+
+-- --- chat_session_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_session`;
+
+-- --- chat_user_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_user`;
+
+-- --- cid_ipad_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`cid_ipad_server`;
+DROP TABLE IF EXISTS `ylrz_saas`.`cid_ipad_server_user`;
+
+-- --- company_ai_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_ai_workflow_node_type`;
+
+-- --- company_company_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_company_fsuser`;
+
+-- --- company_deduct_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_deduct`;
+
+-- --- company_div_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_div_config`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_div_item`;
+
+-- --- company_logininfor_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_logininfor`;
+
+-- --- company_miniapp_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_miniapp`;
+
+-- --- company_post_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_post`;
+
+-- --- company_profit_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_profit_logs`;
+
+-- --- company_recharge_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_recharge`;
+
+-- --- company_role_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_role_dept`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_role_menu`;
+
+-- --- company_sop_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_sop_role`;
+
+-- --- company_tag_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_tag`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_tag_user`;
+
+-- --- company_tcm_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_tcm_consume`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_tcm_report`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_tcm_schedule`;
+
+-- --- company_user_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_user_card`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_user_change_apply_user`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_user_delay_time`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_user_post`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_user_user`;
+
+-- --- company_voice_* (7 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_config`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_dialog`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_mobile`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_package`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_robotic_call_log_addwx`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_robotic_call_log_sendmsg`;
+
+-- --- company_workflow_* (4 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_workflow_lobster`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_workflow_lobster_edge`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_workflow_lobster_node`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_workflow_lobster_task`;
+
+-- --- company_wx_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_wx_chat`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_wx_user_group`;
+
+-- --- crm_customer_* (8 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_analyze`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_assign`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_contacts`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_ext`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_his_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_third`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_user`;
+
+-- --- crm_event_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_event`;
+
+-- --- crm_msg_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_msg`;
+
+-- --- customer_transfer_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`customer_transfer_approval`;
+
+-- --- fastgpt_chat_* (6 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_artificial_words`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_keyword`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_msg_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_replace_text`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_replace_words`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_voice_homo`;
+
+-- --- fastgpt_collection_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_collection`;
+
+-- --- fastgpt_collention_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_collention_data`;
+
+-- --- fastgpt_dataset_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_dataset`;
+
+-- --- fastgpt_event_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_event_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_event_log_total`;
+
+-- --- fastgpt_ext_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_ext_user_tag`;
+
+-- --- fastgpt_keyword_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_keyword`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_keyword_artificial`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_keyword_send`;
+
+-- --- fastgpt_push_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_push_token_total`;
+
+-- --- fastgpt_role_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_role_tag`;
+
+-- --- fastgpt_tag_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_tag`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_tag_group`;
+
+-- --- fastgpt_user_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_user`;
+
+-- --- fs_adv_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_adv_sem`;
+
+-- --- fs_ai_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_ai_workflow_edge`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_ai_workflow_node_type`;
+
+-- --- fs_app_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_app_version`;
+
+-- --- fs_article_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_article`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_article_cate`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_article_views`;
+
+-- --- fs_chinese_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_chinese_medicine`;
+
+-- --- fs_complaint_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_complaint_template`;
+
+-- --- fs_coupon_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_coupon`;
+
+-- --- fs_course_* (12 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_domain_name`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_finish_temp`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_finish_temp_parent`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_link`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_product`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_product_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_question_bank`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_question_category`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_sop`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_sop_app_link`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_sop_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_watch_comment`;
+
+-- --- fs_df_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_df_account`;
+
+-- --- fs_disease_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_disease`;
+
+-- --- fs_doctor_* (13 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_ai_chat_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_ai_chat_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_ai_chat_session`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_article`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_article_cate`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_bill`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_confirm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_extract`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_oper_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_prescribe`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_prescribe_drug`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_price`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_words`;
+
+-- --- fs_drug_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_drug_report`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_drug_report_count`;
+
+-- --- fs_famous_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_famous_prescribe`;
+
+-- --- fs_finish_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_finish_course_statistics_sync`;
+
+-- --- fs_first_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_first_diagnosis`;
+
+-- --- fs_follow_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_follow`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_follow_report`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_follow_temp`;
+
+-- --- fs_health_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_health_data`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_health_history_temp`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_health_life`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_health_record`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_health_tongue`;
+
+-- --- fs_hfpay_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_hfpay_config`;
+
+-- --- fs_icd_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_icd`;
+
+-- --- fs_illness_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_illness_library`;
+
+-- --- fs_im_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_im_msg_send_detail`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_im_msg_send_log`;
+
+-- --- fs_inquiry_* (7 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_disease`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_order_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_order_media`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_order_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_order_ping`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_patient_info`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_temp`;
+
+-- --- fs_integral_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_integral_cart`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_integral_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_integral_order_logs`;
+
+-- --- fs_interest_* (4 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_interest_ai_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_interest_ai_role`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_interest_ai_role_words`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_interest_ai_session`;
+
+-- --- fs_material_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_material`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_material_group`;
+
+-- --- fs_medicated_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_medicated_food`;
+
+-- --- fs_mess_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_mess_temp`;
+
+-- --- fs_package_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_package_cate`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_package_favorite`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_package_solar_term`;
+
+-- --- fs_physical_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_physical_report_template`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_physical_report_template_field`;
+
+-- --- fs_promotional_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_promotional_active`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_promotional_active_log`;
+
+-- --- fs_question_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_question_and_answer`;
+
+-- --- fs_questions_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_questions`;
+
+-- --- fs_statis_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statis_qw_temp_param`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statis_qw_watch`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statis_saler_watch`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statis_temp_fsuser`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statis_temp_param`;
+
+-- --- fs_statistics_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statistics`;
+
+-- --- fs_store_* (39 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_activity`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_activity_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_after_sales`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_after_sales_item`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_after_sales_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_after_sales_logs_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_bill`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_bill_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_canvas_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_cart_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_coupon_issue_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_coupon_issue_user_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_coupon_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_coupon_user_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_extract`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_order_audit_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_order_bill_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_order_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_order_logs_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_order_notice_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_payment_error`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_attr`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_attr_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_attr_value`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_category`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_details_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_group`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_group_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_package`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_purchase_limit_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_relation_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_reply_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_rule_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_template_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_recommend_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_shop_staff_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_sub_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_visit_scrm`;
+
+-- --- fs_test_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_test_report`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_test_temp`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_test_temp_item`;
+
+-- --- fs_tongue_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_tongue_info`;
+
+-- --- fs_user_* (51 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_address`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_bill`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_company_bind`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_company_package_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_company_user`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_company_user_qw`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_complaint`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_complaint_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_comment`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_comment_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_company_statistics`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_complaint_record`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_complaint_type`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_count`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_favorite`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_follow`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_note`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_note_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_note_save`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_study`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_study_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_video_red_package`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_doctor`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_extract`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_information_collection_schedule`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_integral_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_invited`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_login_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_new_task`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_online_state`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_operation_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_project_tag`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_recharge`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_sign`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_talent`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_talent_follow`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_comment`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_comment_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_favorite`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_tags`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_view`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_vip_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_vip_package`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_watch`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_watch_course_statistics`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_watch_statistics`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_wx`;
+
+-- --- fs_vessel_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_vessel`;
+
+-- --- fs_video_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_video_barrage`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_video_course_tag`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_video_resource`;
+
+-- --- fs_wechat_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_wechat_template`;
+
+-- --- hy_watch_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`hy_watch_log`;
+
+-- --- hy_work_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`hy_work_task`;
+
+-- --- live_after_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_after_sales`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_after_sales_item`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_after_sales_logs`;
+
+-- --- live_anchor_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_anchor`;
+
+-- --- live_auto_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_auto_task`;
+
+-- --- live_cart_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_cart`;
+
+-- --- live_completion_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_completion_points_record`;
+
+-- --- live_coupon_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_coupon`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_coupon_issue`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_coupon_issue_relation`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_coupon_issue_user`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_coupon_user`;
+
+-- --- live_data_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_data`;
+
+-- --- live_event_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_event_conf`;
+
+-- --- live_gift_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_gift`;
+
+-- --- live_goods_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_goods`;
+
+-- --- live_lottery_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_lottery_conf`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_lottery_product_conf`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_lottery_registration`;
+
+-- --- live_msg_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_msg`;
+
+-- --- live_order_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_order_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_order_payment_error`;
+
+-- --- live_red_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_red_conf`;
+
+-- --- live_reward_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_reward_record`;
+
+-- --- live_sensitive_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_sensitive_words`;
+
+-- --- live_tag_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_tag_config`;
+
+-- --- live_traffic_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_traffic_log`;
+
+-- --- live_user_* (6 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_favorite`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_first_entry`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_follow`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_lottery_record`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_red_record`;
+
+-- --- live_watch_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_watch_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_watch_user`;
+
+-- --- lobster_compliance_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`lobster_compliance_rule`;
+
+-- --- lobster_conversation_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`lobster_conversation_summary`;
+
+-- --- lobster_node_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`lobster_node_execution_log`;
+
+-- --- lobster_workflow_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`lobster_workflow_instance`;
+
+-- --- lucky_bag_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`lucky_bag`;
+DROP TABLE IF EXISTS `ylrz_saas`.`lucky_bag_collect_record`;
+
+-- --- qw_app_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_app_contact_way`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_app_contact_way_logs`;
+
+-- --- qw_auto_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_auto_tags`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_auto_tags_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_auto_tags_rules`;
+
+-- --- qw_contact_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_contact_batch`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_contact_way`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_contact_way_group`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_contact_way_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_contact_way_user`;
+
+-- --- qw_course_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_course_finish_remark_rty`;
+
+-- --- qw_customer_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_customer_property`;
+
+-- --- qw_drainage_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_drainage_link`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_drainage_link_logs`;
+
+-- --- qw_external_* (7 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_ai_analyze`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_contact_black_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_contact_crm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_contact_transfer_company_audit`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_contact_transfer_company_audit_user`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_contact_transfer_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_err_retry`;
+
+-- --- qw_friend_* (6 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_circle`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_circle_task`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_comments`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_customer_list`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_welcome`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_welcome_item`;
+
+-- --- qw_group_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_group_chat`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_group_chat_transfer_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_group_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_group_msg_item`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_group_msg_user`;
+
+-- --- qw_groupchat_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_groupchat_statistic`;
+
+-- --- qw_information_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_information`;
+
+-- --- qw_ipad_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_ipad_server`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_ipad_server_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_ipad_server_user`;
+
+-- --- qw_material_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_material`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_material_group`;
+
+-- --- qw_messages_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_messages`;
+
+-- --- qw_msg_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_msg`;
+
+-- --- qw_push_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_push_count`;
+
+-- --- qw_session_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_session`;
+
+-- --- qw_sop_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_sop_logs_detalis`;
+
+-- --- qw_tag_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_tag_group`;
+
+-- --- qw_user_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_user_complain_record`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_user_video`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_user_voice_log`;
+
+-- --- qw_userbehavior_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_userbehavior_data`;
+
+-- --- qw_welcome_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_welcome`;
+
+-- --- qw_work_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_work_link`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_work_link_user`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_work_user`;
+
+-- --- tulin_info_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`tulin_info_sync_log`;
+
+-- --- uni_push_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`uni_push_log`;
+
+-- --- watch_beginner_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_beginner_guide`;
+
+-- --- watch_device_* (4 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_device_account`;
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_device_day`;
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_device_info`;
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_device_setup`;
+
+-- --- watch_family_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_family_user`;
+
+-- --- watch_materials_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_materials`;
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_materials_type`;
+
+-- --- watch_medication_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_medication_task`;
+
+-- --- watch_monitor_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_monitor_data_type`;
+
+-- --- watch_msg_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_msg_set`;
+
+-- --- watch_send_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_send_msg_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_send_msg_set`;
+
+-- --- watch_user_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_user`;
+
+-- --- wx_contact_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`wx_contact`;
+
+-- ============================================================================
+-- 执行后验证
+-- ============================================================================
+-- SELECT COUNT(*) AS remaining FROM information_schema.tables
+-- WHERE table_schema='ylrz_saas' AND table_type='BASE TABLE';
+-- Expected: ~205
+
+-- ============================================================================
+-- 保留在 ylrz_saas 的表(共 205 张)
+-- ============================================================================
+--   ad_account
+--   ad_html_click_log
+--   ai_knowledge_base
+--   bd_account
+--   bd_creative
+--   bd_plan
+--   bd_unit
+--   billing_detail
+--   billing_statement
+--   company
+--   company_ai_provider
+--   company_config
+--   company_dept
+--   company_domain
+--   company_domain_bind
+--   company_domain_bind_user
+--   company_menu
+--   company_money_logs
+--   company_oper_log
+--   company_profit
+--   company_red_packet_balance_logs
+--   company_role
+--   company_sms
+--   company_sms_logs
+--   company_sms_order
+--   company_sms_package
+--   company_sms_temp
+--   company_user
+--   company_user_change_apply
+--   company_user_role
+--   company_voice_api
+--   company_voice_blacklist
+--   company_voice_caller
+--   company_voice_logs
+--   company_voice_package_order
+--   company_voice_robotic
+--   company_voice_robotic_call_blacklist
+--   company_voice_robotic_call_log_callphone
+--   company_voice_robotic_callees
+--   company_voice_robotic_wx
+--   company_workflow_lobster_record
+--   company_workflow_lobster_variable
+--   company_wx_account
+--   company_wx_client
+--   company_wx_dialog
+--   company_wx_user
+--   consume_type
+--   crm_customer
+--   crm_customer_visit
+--   databasechangelog
+--   databasechangeloglock
+--   db_config
+--   fastgpt_chat_msg
+--   fastgpt_chat_session
+--   fastgpt_event_token_log
+--   fastgpt_role
+--   fee_plan
+--   fee_plan_flow_tier
+--   fee_plan_item
+--   fs_adv
+--   fs_ai_workflow
+--   fs_ai_workflow_company_user
+--   fs_ai_workflow_company_voice
+--   fs_ai_workflow_node
+--   fs_app_contact_way
+--   fs_barrage_package_order
+--   fs_city
+--   fs_course_answer_logs
+--   fs_course_play_source_config
+--   fs_course_red_packet_log
+--   fs_course_traffic_log
+--   fs_course_watch_log
+--   fs_department
+--   fs_doctor
+--   fs_doctor_product
+--   fs_export_task
+--   fs_express
+--   fs_home_article
+--   fs_home_article_category
+--   fs_home_article_view
+--   fs_hospital
+--   fs_inquiry_order
+--   fs_inquiry_order_hs_log
+--   fs_inquiry_order_report
+--   fs_integral_goods
+--   fs_menu
+--   fs_package
+--   fs_package_order
+--   fs_patient
+--   fs_prescribe
+--   fs_prescribe_drug
+--   fs_role_menu
+--   fs_shipping_templates
+--   fs_shipping_templates_free
+--   fs_shipping_templates_region
+--   fs_statistics_index
+--   fs_store_after_sales_item_scrm
+--   fs_store_after_sales_scrm
+--   fs_store_after_sales_status_scrm
+--   fs_store_order
+--   fs_store_order_df
+--   fs_store_order_item
+--   fs_store_order_item_scrm
+--   fs_store_order_offline_item_scrm
+--   fs_store_order_offline_scrm
+--   fs_store_order_scrm
+--   fs_store_order_status_scrm
+--   fs_store_payment
+--   fs_store_payment_scrm
+--   fs_store_product
+--   fs_store_product_attr_value_scrm
+--   fs_store_product_category_scrm
+--   fs_store_product_package_scrm
+--   fs_store_product_scrm
+--   fs_store_scrm
+--   fs_store_shop_scrm
+--   fs_user
+--   fs_user_coupon
+--   fs_user_course
+--   fs_user_course_category
+--   fs_user_course_company_user_time
+--   fs_user_course_period
+--   fs_user_course_period_days
+--   fs_user_course_training_camp
+--   fs_user_course_video
+--   fs_user_information_collection
+--   fs_user_promoter_apply
+--   gen_table
+--   gen_table_column
+--   ipad_allocation_records
+--   live
+--   live_company_code
+--   live_order
+--   live_order_df
+--   live_order_item
+--   live_order_payment
+--   live_video
+--   merchant_app_config
+--   payment_mini_program_config
+--   platform_statistics
+--   proxy
+--   proxy_oper_log
+--   proxy_service_price
+--   proxy_tenant_quota
+--   proxy_tenant_rel
+--   proxy_withdraw
+--   qrtz_blob_triggers
+--   qrtz_calendars
+--   qrtz_cron_triggers
+--   qrtz_fired_triggers
+--   qrtz_job_details
+--   qrtz_locks
+--   qrtz_paused_trigger_grps
+--   qrtz_scheduler_state
+--   qrtz_simple_triggers
+--   qrtz_simprop_triggers
+--   qrtz_triggers
+--   qw_api_sop_log_token
+--   qw_company
+--   qw_dept
+--   qw_external_contact
+--   qw_external_contact_info
+--   qw_group_chat_user
+--   qw_ipad_total
+--   qw_restriction_push_record
+--   qw_sop
+--   qw_sop_temp
+--   qw_tag
+--   qw_user
+--   qw_watch_log
+--   qw_work_task
+--   service_fee_config
+--   sop_user_logs
+--   sop_user_logs_info
+--   sys_config
+--   sys_dept
+--   sys_dict_data
+--   sys_dict_type
+--   sys_job
+--   sys_job_log
+--   sys_keyword
+--   sys_logininfor
+--   sys_menu
+--   sys_notice
+--   sys_oper_log
+--   sys_oper_log_scrm
+--   sys_post
+--   sys_role
+--   sys_role_dept
+--   sys_role_menu
+--   sys_user
+--   sys_user_post
+--   sys_user_role
+--   sys_user_set
+--   tenant_balance
+--   tenant_company_menu
+--   tenant_consume_record
+--   tenant_info
+--   tenant_info_stats
+--   tenant_module_usage
+--   tenant_sql_execute_record
+--   tenant_sys_menu
+--   tenant_wallet
+--   usage_event
+--   vc_company_user

+ 14 - 0
sql/cleanup_v2_precise.sql

@@ -0,0 +1,14 @@
+-- ============================================================================
+-- ylrz_saas 数据库清理 V2 - adminUI 全链路追踪精准版
+-- 分析方法: fs_menu → 前端路由 → API端点 → Controller → Service → Mapper → 表
+-- 数据库表数: 594, 在用表数: 741, 孤儿表数: 1
+-- ============================================================================
+
+-- 批次1: 垃圾/备份表
+
+-- 批次2: 分区表 (0 张)
+
+-- 批次3: 孤儿业务表 (1 张)
+DROP TABLE IF EXISTS `qw_sop_logs_service provider`;
+
+-- 总计: 1 张表

+ 2568 - 0
sql/tenant_migration.sql

@@ -0,0 +1,2568 @@
+-- ============================================================================
+-- ylrz_saas -> ylrz_saas_tenant 租户表迁移脚本
+-- 生成时间: auto-generated
+-- 迁移表数: 398
+-- 保留主库: 194 (admin=55, shared=139)
+-- 同实例跨库迁移,使用 CREATE TABLE ... LIKE + INSERT ... SELECT
+-- ============================================================================
+
+-- ============================================================================
+-- 第一阶段: CREATE TABLE (复制表结构)
+-- ============================================================================
+
+-- --- ad_domain_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`ad_domain` LIKE `ylrz_saas`.`ad_domain`;
+
+-- --- ad_dy_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`ad_dy_account` LIKE `ylrz_saas`.`ad_dy_account`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`ad_dy_api` LIKE `ylrz_saas`.`ad_dy_api`;
+
+-- --- ad_html_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`ad_html_template` LIKE `ylrz_saas`.`ad_html_template`;
+
+-- --- ad_iqiyi_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`ad_iqiyi_account` LIKE `ylrz_saas`.`ad_iqiyi_account`;
+
+-- --- ad_site_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`ad_site` LIKE `ylrz_saas`.`ad_site`;
+
+-- --- ad_upload_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`ad_upload_log` LIKE `ylrz_saas`.`ad_upload_log`;
+
+-- --- ad_youku_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`ad_youku_account` LIKE `ylrz_saas`.`ad_youku_account`;
+
+-- --- ai_knowledge_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`ai_knowledge_base` LIKE `ylrz_saas`.`ai_knowledge_base`;
+
+-- --- bd_api_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`bd_api` LIKE `ylrz_saas`.`bd_api`;
+
+-- --- bd_creative_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`bd_creative_statistics` LIKE `ylrz_saas`.`bd_creative_statistics`;
+
+-- --- bd_report_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`bd_report_data` LIKE `ylrz_saas`.`bd_report_data`;
+
+-- --- chat_dataset_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`chat_dataset` LIKE `ylrz_saas`.`chat_dataset`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`chat_dataset_file` LIKE `ylrz_saas`.`chat_dataset_file`;
+
+-- --- chat_keyword_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`chat_keyword` LIKE `ylrz_saas`.`chat_keyword`;
+
+-- --- chat_msg_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`chat_msg` LIKE `ylrz_saas`.`chat_msg`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`chat_msg_logs` LIKE `ylrz_saas`.`chat_msg_logs`;
+
+-- --- chat_role_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`chat_role` LIKE `ylrz_saas`.`chat_role`;
+
+-- --- chat_session_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`chat_session` LIKE `ylrz_saas`.`chat_session`;
+
+-- --- chat_user_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`chat_user` LIKE `ylrz_saas`.`chat_user`;
+
+-- --- cid_ipad_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`cid_ipad_server` LIKE `ylrz_saas`.`cid_ipad_server`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`cid_ipad_server_user` LIKE `ylrz_saas`.`cid_ipad_server_user`;
+
+-- --- company_ai_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_ai_workflow_node_type` LIKE `ylrz_saas`.`company_ai_workflow_node_type`;
+
+-- --- company_company_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_company_fsuser` LIKE `ylrz_saas`.`company_company_fsuser`;
+
+-- --- company_deduct_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_deduct` LIKE `ylrz_saas`.`company_deduct`;
+
+-- --- company_div_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_div_config` LIKE `ylrz_saas`.`company_div_config`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_div_item` LIKE `ylrz_saas`.`company_div_item`;
+
+-- --- company_logininfor_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_logininfor` LIKE `ylrz_saas`.`company_logininfor`;
+
+-- --- company_miniapp_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_miniapp` LIKE `ylrz_saas`.`company_miniapp`;
+
+-- --- company_post_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_post` LIKE `ylrz_saas`.`company_post`;
+
+-- --- company_profit_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_profit_logs` LIKE `ylrz_saas`.`company_profit_logs`;
+
+-- --- company_recharge_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_recharge` LIKE `ylrz_saas`.`company_recharge`;
+
+-- --- company_role_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_role_dept` LIKE `ylrz_saas`.`company_role_dept`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_role_menu` LIKE `ylrz_saas`.`company_role_menu`;
+
+-- --- company_sop_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_sop_role` LIKE `ylrz_saas`.`company_sop_role`;
+
+-- --- company_tag_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_tag` LIKE `ylrz_saas`.`company_tag`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_tag_user` LIKE `ylrz_saas`.`company_tag_user`;
+
+-- --- company_tcm_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_tcm_consume` LIKE `ylrz_saas`.`company_tcm_consume`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_tcm_report` LIKE `ylrz_saas`.`company_tcm_report`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_tcm_schedule` LIKE `ylrz_saas`.`company_tcm_schedule`;
+
+-- --- company_user_* (5 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_user_card` LIKE `ylrz_saas`.`company_user_card`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_user_change_apply_user` LIKE `ylrz_saas`.`company_user_change_apply_user`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_user_delay_time` LIKE `ylrz_saas`.`company_user_delay_time`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_user_post` LIKE `ylrz_saas`.`company_user_post`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_user_user` LIKE `ylrz_saas`.`company_user_user`;
+
+-- --- company_voice_* (7 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_voice` LIKE `ylrz_saas`.`company_voice`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_voice_config` LIKE `ylrz_saas`.`company_voice_config`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_voice_dialog` LIKE `ylrz_saas`.`company_voice_dialog`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_voice_mobile` LIKE `ylrz_saas`.`company_voice_mobile`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_voice_package` LIKE `ylrz_saas`.`company_voice_package`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_voice_robotic_call_log_addwx` LIKE `ylrz_saas`.`company_voice_robotic_call_log_addwx`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_voice_robotic_call_log_sendmsg` LIKE `ylrz_saas`.`company_voice_robotic_call_log_sendmsg`;
+
+-- --- company_workflow_* (6 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_workflow_lobster` LIKE `ylrz_saas`.`company_workflow_lobster`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_workflow_lobster_edge` LIKE `ylrz_saas`.`company_workflow_lobster_edge`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_workflow_lobster_node` LIKE `ylrz_saas`.`company_workflow_lobster_node`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_workflow_lobster_record` LIKE `ylrz_saas`.`company_workflow_lobster_record`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_workflow_lobster_task` LIKE `ylrz_saas`.`company_workflow_lobster_task`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_workflow_lobster_variable` LIKE `ylrz_saas`.`company_workflow_lobster_variable`;
+
+-- --- company_wx_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_wx_chat` LIKE `ylrz_saas`.`company_wx_chat`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`company_wx_user_group` LIKE `ylrz_saas`.`company_wx_user_group`;
+
+-- --- crm_customer_* (8 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`crm_customer_analyze` LIKE `ylrz_saas`.`crm_customer_analyze`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`crm_customer_assign` LIKE `ylrz_saas`.`crm_customer_assign`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`crm_customer_contacts` LIKE `ylrz_saas`.`crm_customer_contacts`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`crm_customer_ext` LIKE `ylrz_saas`.`crm_customer_ext`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`crm_customer_his_order` LIKE `ylrz_saas`.`crm_customer_his_order`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`crm_customer_logs` LIKE `ylrz_saas`.`crm_customer_logs`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`crm_customer_third` LIKE `ylrz_saas`.`crm_customer_third`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`crm_customer_user` LIKE `ylrz_saas`.`crm_customer_user`;
+
+-- --- crm_event_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`crm_event` LIKE `ylrz_saas`.`crm_event`;
+
+-- --- crm_msg_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`crm_msg` LIKE `ylrz_saas`.`crm_msg`;
+
+-- --- customer_transfer_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`customer_transfer_approval` LIKE `ylrz_saas`.`customer_transfer_approval`;
+
+-- --- fastgpt_chat_* (6 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_chat_artificial_words` LIKE `ylrz_saas`.`fastgpt_chat_artificial_words`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_chat_keyword` LIKE `ylrz_saas`.`fastgpt_chat_keyword`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_chat_msg_logs` LIKE `ylrz_saas`.`fastgpt_chat_msg_logs`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_chat_replace_text` LIKE `ylrz_saas`.`fastgpt_chat_replace_text`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_chat_replace_words` LIKE `ylrz_saas`.`fastgpt_chat_replace_words`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_chat_voice_homo` LIKE `ylrz_saas`.`fastgpt_chat_voice_homo`;
+
+-- --- fastgpt_collection_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_collection` LIKE `ylrz_saas`.`fastgpt_collection`;
+
+-- --- fastgpt_collention_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_collention_data` LIKE `ylrz_saas`.`fastgpt_collention_data`;
+
+-- --- fastgpt_dataset_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_dataset` LIKE `ylrz_saas`.`fastgpt_dataset`;
+
+-- --- fastgpt_event_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_event_log` LIKE `ylrz_saas`.`fastgpt_event_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_event_log_total` LIKE `ylrz_saas`.`fastgpt_event_log_total`;
+
+-- --- fastgpt_ext_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_ext_user_tag` LIKE `ylrz_saas`.`fastgpt_ext_user_tag`;
+
+-- --- fastgpt_keyword_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_keyword` LIKE `ylrz_saas`.`fastgpt_keyword`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_keyword_artificial` LIKE `ylrz_saas`.`fastgpt_keyword_artificial`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_keyword_send` LIKE `ylrz_saas`.`fastgpt_keyword_send`;
+
+-- --- fastgpt_push_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_push_token_total` LIKE `ylrz_saas`.`fastgpt_push_token_total`;
+
+-- --- fastgpt_role_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_role_tag` LIKE `ylrz_saas`.`fastgpt_role_tag`;
+
+-- --- fastgpt_tag_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_tag` LIKE `ylrz_saas`.`fastgpt_tag`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_tag_group` LIKE `ylrz_saas`.`fastgpt_tag_group`;
+
+-- --- fastgpt_user_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fastgpt_user` LIKE `ylrz_saas`.`fastgpt_user`;
+
+-- --- fs_adv_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_adv_sem` LIKE `ylrz_saas`.`fs_adv_sem`;
+
+-- --- fs_ai_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_ai_workflow_edge` LIKE `ylrz_saas`.`fs_ai_workflow_edge`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_ai_workflow_node_type` LIKE `ylrz_saas`.`fs_ai_workflow_node_type`;
+
+-- --- fs_app_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_app_contact_way` LIKE `ylrz_saas`.`fs_app_contact_way`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_app_version` LIKE `ylrz_saas`.`fs_app_version`;
+
+-- --- fs_article_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_article` LIKE `ylrz_saas`.`fs_article`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_article_cate` LIKE `ylrz_saas`.`fs_article_cate`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_article_views` LIKE `ylrz_saas`.`fs_article_views`;
+
+-- --- fs_chinese_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_chinese_medicine` LIKE `ylrz_saas`.`fs_chinese_medicine`;
+
+-- --- fs_city_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_city` LIKE `ylrz_saas`.`fs_city`;
+
+-- --- fs_complaint_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_complaint_template` LIKE `ylrz_saas`.`fs_complaint_template`;
+
+-- --- fs_coupon_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_coupon` LIKE `ylrz_saas`.`fs_coupon`;
+
+-- --- fs_course_* (12 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_domain_name` LIKE `ylrz_saas`.`fs_course_domain_name`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_finish_temp` LIKE `ylrz_saas`.`fs_course_finish_temp`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_finish_temp_parent` LIKE `ylrz_saas`.`fs_course_finish_temp_parent`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_link` LIKE `ylrz_saas`.`fs_course_link`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_product` LIKE `ylrz_saas`.`fs_course_product`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_product_order` LIKE `ylrz_saas`.`fs_course_product_order`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_question_bank` LIKE `ylrz_saas`.`fs_course_question_bank`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_question_category` LIKE `ylrz_saas`.`fs_course_question_category`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_sop` LIKE `ylrz_saas`.`fs_course_sop`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_sop_app_link` LIKE `ylrz_saas`.`fs_course_sop_app_link`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_sop_logs` LIKE `ylrz_saas`.`fs_course_sop_logs`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_course_watch_comment` LIKE `ylrz_saas`.`fs_course_watch_comment`;
+
+-- --- fs_df_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_df_account` LIKE `ylrz_saas`.`fs_df_account`;
+
+-- --- fs_disease_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_disease` LIKE `ylrz_saas`.`fs_disease`;
+
+-- --- fs_doctor_* (14 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_ai_chat_log` LIKE `ylrz_saas`.`fs_doctor_ai_chat_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_ai_chat_msg` LIKE `ylrz_saas`.`fs_doctor_ai_chat_msg`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_ai_chat_session` LIKE `ylrz_saas`.`fs_doctor_ai_chat_session`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_article` LIKE `ylrz_saas`.`fs_doctor_article`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_article_cate` LIKE `ylrz_saas`.`fs_doctor_article_cate`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_bill` LIKE `ylrz_saas`.`fs_doctor_bill`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_confirm` LIKE `ylrz_saas`.`fs_doctor_confirm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_extract` LIKE `ylrz_saas`.`fs_doctor_extract`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_oper_log` LIKE `ylrz_saas`.`fs_doctor_oper_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_prescribe` LIKE `ylrz_saas`.`fs_doctor_prescribe`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_prescribe_drug` LIKE `ylrz_saas`.`fs_doctor_prescribe_drug`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_price` LIKE `ylrz_saas`.`fs_doctor_price`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_product` LIKE `ylrz_saas`.`fs_doctor_product`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_doctor_words` LIKE `ylrz_saas`.`fs_doctor_words`;
+
+-- --- fs_drug_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_drug_report` LIKE `ylrz_saas`.`fs_drug_report`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_drug_report_count` LIKE `ylrz_saas`.`fs_drug_report_count`;
+
+-- --- fs_express_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_express` LIKE `ylrz_saas`.`fs_express`;
+
+-- --- fs_famous_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_famous_prescribe` LIKE `ylrz_saas`.`fs_famous_prescribe`;
+
+-- --- fs_finish_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_finish_course_statistics_sync` LIKE `ylrz_saas`.`fs_finish_course_statistics_sync`;
+
+-- --- fs_first_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_first_diagnosis` LIKE `ylrz_saas`.`fs_first_diagnosis`;
+
+-- --- fs_follow_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_follow` LIKE `ylrz_saas`.`fs_follow`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_follow_report` LIKE `ylrz_saas`.`fs_follow_report`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_follow_temp` LIKE `ylrz_saas`.`fs_follow_temp`;
+
+-- --- fs_health_* (5 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_health_data` LIKE `ylrz_saas`.`fs_health_data`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_health_history_temp` LIKE `ylrz_saas`.`fs_health_history_temp`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_health_life` LIKE `ylrz_saas`.`fs_health_life`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_health_record` LIKE `ylrz_saas`.`fs_health_record`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_health_tongue` LIKE `ylrz_saas`.`fs_health_tongue`;
+
+-- --- fs_hfpay_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_hfpay_config` LIKE `ylrz_saas`.`fs_hfpay_config`;
+
+-- --- fs_icd_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_icd` LIKE `ylrz_saas`.`fs_icd`;
+
+-- --- fs_illness_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_illness_library` LIKE `ylrz_saas`.`fs_illness_library`;
+
+-- --- fs_im_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_im_msg_send_detail` LIKE `ylrz_saas`.`fs_im_msg_send_detail`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_im_msg_send_log` LIKE `ylrz_saas`.`fs_im_msg_send_log`;
+
+-- --- fs_inquiry_* (7 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_inquiry_disease` LIKE `ylrz_saas`.`fs_inquiry_disease`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_inquiry_order_logs` LIKE `ylrz_saas`.`fs_inquiry_order_logs`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_inquiry_order_media` LIKE `ylrz_saas`.`fs_inquiry_order_media`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_inquiry_order_msg` LIKE `ylrz_saas`.`fs_inquiry_order_msg`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_inquiry_order_ping` LIKE `ylrz_saas`.`fs_inquiry_order_ping`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_inquiry_patient_info` LIKE `ylrz_saas`.`fs_inquiry_patient_info`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_inquiry_temp` LIKE `ylrz_saas`.`fs_inquiry_temp`;
+
+-- --- fs_integral_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_integral_cart` LIKE `ylrz_saas`.`fs_integral_cart`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_integral_order` LIKE `ylrz_saas`.`fs_integral_order`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_integral_order_logs` LIKE `ylrz_saas`.`fs_integral_order_logs`;
+
+-- --- fs_interest_* (4 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_interest_ai_msg` LIKE `ylrz_saas`.`fs_interest_ai_msg`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_interest_ai_role` LIKE `ylrz_saas`.`fs_interest_ai_role`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_interest_ai_role_words` LIKE `ylrz_saas`.`fs_interest_ai_role_words`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_interest_ai_session` LIKE `ylrz_saas`.`fs_interest_ai_session`;
+
+-- --- fs_material_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_material` LIKE `ylrz_saas`.`fs_material`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_material_group` LIKE `ylrz_saas`.`fs_material_group`;
+
+-- --- fs_medicated_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_medicated_food` LIKE `ylrz_saas`.`fs_medicated_food`;
+
+-- --- fs_mess_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_mess_temp` LIKE `ylrz_saas`.`fs_mess_temp`;
+
+-- --- fs_package_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_package_cate` LIKE `ylrz_saas`.`fs_package_cate`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_package_favorite` LIKE `ylrz_saas`.`fs_package_favorite`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_package_solar_term` LIKE `ylrz_saas`.`fs_package_solar_term`;
+
+-- --- fs_physical_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_physical_report_template` LIKE `ylrz_saas`.`fs_physical_report_template`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_physical_report_template_field` LIKE `ylrz_saas`.`fs_physical_report_template_field`;
+
+-- --- fs_prescribe_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_prescribe` LIKE `ylrz_saas`.`fs_prescribe`;
+
+-- --- fs_promotional_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_promotional_active` LIKE `ylrz_saas`.`fs_promotional_active`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_promotional_active_log` LIKE `ylrz_saas`.`fs_promotional_active_log`;
+
+-- --- fs_question_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_question_and_answer` LIKE `ylrz_saas`.`fs_question_and_answer`;
+
+-- --- fs_questions_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_questions` LIKE `ylrz_saas`.`fs_questions`;
+
+-- --- fs_statis_* (5 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_statis_qw_temp_param` LIKE `ylrz_saas`.`fs_statis_qw_temp_param`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_statis_qw_watch` LIKE `ylrz_saas`.`fs_statis_qw_watch`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_statis_saler_watch` LIKE `ylrz_saas`.`fs_statis_saler_watch`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_statis_temp_fsuser` LIKE `ylrz_saas`.`fs_statis_temp_fsuser`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_statis_temp_param` LIKE `ylrz_saas`.`fs_statis_temp_param`;
+
+-- --- fs_statistics_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_statistics` LIKE `ylrz_saas`.`fs_statistics`;
+
+-- --- fs_store_* (40 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store` LIKE `ylrz_saas`.`fs_store`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_activity` LIKE `ylrz_saas`.`fs_store_activity`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_activity_scrm` LIKE `ylrz_saas`.`fs_store_activity_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_after_sales` LIKE `ylrz_saas`.`fs_store_after_sales`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_after_sales_item` LIKE `ylrz_saas`.`fs_store_after_sales_item`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_after_sales_logs` LIKE `ylrz_saas`.`fs_store_after_sales_logs`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_after_sales_logs_scrm` LIKE `ylrz_saas`.`fs_store_after_sales_logs_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_bill` LIKE `ylrz_saas`.`fs_store_bill`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_bill_scrm` LIKE `ylrz_saas`.`fs_store_bill_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_canvas_scrm` LIKE `ylrz_saas`.`fs_store_canvas_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_cart_scrm` LIKE `ylrz_saas`.`fs_store_cart_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_coupon_issue_scrm` LIKE `ylrz_saas`.`fs_store_coupon_issue_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_coupon_issue_user_scrm` LIKE `ylrz_saas`.`fs_store_coupon_issue_user_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_coupon_scrm` LIKE `ylrz_saas`.`fs_store_coupon_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_coupon_user_scrm` LIKE `ylrz_saas`.`fs_store_coupon_user_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_extract` LIKE `ylrz_saas`.`fs_store_extract`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_order_audit_scrm` LIKE `ylrz_saas`.`fs_store_order_audit_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_order_bill_log` LIKE `ylrz_saas`.`fs_store_order_bill_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_order_logs` LIKE `ylrz_saas`.`fs_store_order_logs`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_order_logs_scrm` LIKE `ylrz_saas`.`fs_store_order_logs_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_order_notice_scrm` LIKE `ylrz_saas`.`fs_store_order_notice_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_payment_error` LIKE `ylrz_saas`.`fs_store_payment_error`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product` LIKE `ylrz_saas`.`fs_store_product`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_attr` LIKE `ylrz_saas`.`fs_store_product_attr`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_attr_scrm` LIKE `ylrz_saas`.`fs_store_product_attr_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_attr_value` LIKE `ylrz_saas`.`fs_store_product_attr_value`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_category` LIKE `ylrz_saas`.`fs_store_product_category`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_details_scrm` LIKE `ylrz_saas`.`fs_store_product_details_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_group` LIKE `ylrz_saas`.`fs_store_product_group`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_group_scrm` LIKE `ylrz_saas`.`fs_store_product_group_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_package` LIKE `ylrz_saas`.`fs_store_product_package`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_purchase_limit_scrm` LIKE `ylrz_saas`.`fs_store_product_purchase_limit_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_relation_scrm` LIKE `ylrz_saas`.`fs_store_product_relation_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_reply_scrm` LIKE `ylrz_saas`.`fs_store_product_reply_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_rule_scrm` LIKE `ylrz_saas`.`fs_store_product_rule_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_product_template_scrm` LIKE `ylrz_saas`.`fs_store_product_template_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_recommend_scrm` LIKE `ylrz_saas`.`fs_store_recommend_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_shop_staff_scrm` LIKE `ylrz_saas`.`fs_store_shop_staff_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_sub_order` LIKE `ylrz_saas`.`fs_store_sub_order`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_store_visit_scrm` LIKE `ylrz_saas`.`fs_store_visit_scrm`;
+
+-- --- fs_test_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_test_report` LIKE `ylrz_saas`.`fs_test_report`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_test_temp` LIKE `ylrz_saas`.`fs_test_temp`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_test_temp_item` LIKE `ylrz_saas`.`fs_test_temp_item`;
+
+-- --- fs_tongue_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_tongue_info` LIKE `ylrz_saas`.`fs_tongue_info`;
+
+-- --- fs_user_* (51 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_address` LIKE `ylrz_saas`.`fs_user_address`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_bill` LIKE `ylrz_saas`.`fs_user_bill`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_company_bind` LIKE `ylrz_saas`.`fs_user_company_bind`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_company_package_scrm` LIKE `ylrz_saas`.`fs_user_company_package_scrm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_company_user` LIKE `ylrz_saas`.`fs_user_company_user`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_company_user_qw` LIKE `ylrz_saas`.`fs_user_company_user_qw`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_complaint` LIKE `ylrz_saas`.`fs_user_complaint`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_complaint_msg` LIKE `ylrz_saas`.`fs_user_complaint_msg`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_comment` LIKE `ylrz_saas`.`fs_user_course_comment`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_comment_like` LIKE `ylrz_saas`.`fs_user_course_comment_like`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_company_statistics` LIKE `ylrz_saas`.`fs_user_course_company_statistics`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_complaint_record` LIKE `ylrz_saas`.`fs_user_course_complaint_record`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_complaint_type` LIKE `ylrz_saas`.`fs_user_course_complaint_type`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_count` LIKE `ylrz_saas`.`fs_user_course_count`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_favorite` LIKE `ylrz_saas`.`fs_user_course_favorite`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_follow` LIKE `ylrz_saas`.`fs_user_course_follow`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_like` LIKE `ylrz_saas`.`fs_user_course_like`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_note` LIKE `ylrz_saas`.`fs_user_course_note`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_note_like` LIKE `ylrz_saas`.`fs_user_course_note_like`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_note_save` LIKE `ylrz_saas`.`fs_user_course_note_save`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_order` LIKE `ylrz_saas`.`fs_user_course_order`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_study` LIKE `ylrz_saas`.`fs_user_course_study`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_study_log` LIKE `ylrz_saas`.`fs_user_course_study_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_course_video_red_package` LIKE `ylrz_saas`.`fs_user_course_video_red_package`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_doctor` LIKE `ylrz_saas`.`fs_user_doctor`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_extract` LIKE `ylrz_saas`.`fs_user_extract`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_information_collection_schedule` LIKE `ylrz_saas`.`fs_user_information_collection_schedule`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_integral_logs` LIKE `ylrz_saas`.`fs_user_integral_logs`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_invited` LIKE `ylrz_saas`.`fs_user_invited`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_login_log` LIKE `ylrz_saas`.`fs_user_login_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_new_task` LIKE `ylrz_saas`.`fs_user_new_task`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_online_state` LIKE `ylrz_saas`.`fs_user_online_state`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_operation_log` LIKE `ylrz_saas`.`fs_user_operation_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_project_tag` LIKE `ylrz_saas`.`fs_user_project_tag`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_recharge` LIKE `ylrz_saas`.`fs_user_recharge`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_sign` LIKE `ylrz_saas`.`fs_user_sign`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_talent` LIKE `ylrz_saas`.`fs_user_talent`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_talent_follow` LIKE `ylrz_saas`.`fs_user_talent_follow`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_video` LIKE `ylrz_saas`.`fs_user_video`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_video_comment` LIKE `ylrz_saas`.`fs_user_video_comment`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_video_comment_like` LIKE `ylrz_saas`.`fs_user_video_comment_like`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_video_favorite` LIKE `ylrz_saas`.`fs_user_video_favorite`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_video_like` LIKE `ylrz_saas`.`fs_user_video_like`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_video_tags` LIKE `ylrz_saas`.`fs_user_video_tags`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_video_view` LIKE `ylrz_saas`.`fs_user_video_view`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_vip_order` LIKE `ylrz_saas`.`fs_user_vip_order`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_vip_package` LIKE `ylrz_saas`.`fs_user_vip_package`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_watch` LIKE `ylrz_saas`.`fs_user_watch`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_watch_course_statistics` LIKE `ylrz_saas`.`fs_user_watch_course_statistics`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_watch_statistics` LIKE `ylrz_saas`.`fs_user_watch_statistics`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_user_wx` LIKE `ylrz_saas`.`fs_user_wx`;
+
+-- --- fs_vessel_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_vessel` LIKE `ylrz_saas`.`fs_vessel`;
+
+-- --- fs_video_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_video_barrage` LIKE `ylrz_saas`.`fs_video_barrage`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_video_course_tag` LIKE `ylrz_saas`.`fs_video_course_tag`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_video_resource` LIKE `ylrz_saas`.`fs_video_resource`;
+
+-- --- fs_wechat_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`fs_wechat_template` LIKE `ylrz_saas`.`fs_wechat_template`;
+
+-- --- hy_watch_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`hy_watch_log` LIKE `ylrz_saas`.`hy_watch_log`;
+
+-- --- hy_work_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`hy_work_task` LIKE `ylrz_saas`.`hy_work_task`;
+
+-- --- ipad_allocation_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`ipad_allocation_records` LIKE `ylrz_saas`.`ipad_allocation_records`;
+
+-- --- live_after_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_after_sales` LIKE `ylrz_saas`.`live_after_sales`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_after_sales_item` LIKE `ylrz_saas`.`live_after_sales_item`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_after_sales_logs` LIKE `ylrz_saas`.`live_after_sales_logs`;
+
+-- --- live_anchor_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_anchor` LIKE `ylrz_saas`.`live_anchor`;
+
+-- --- live_auto_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_auto_task` LIKE `ylrz_saas`.`live_auto_task`;
+
+-- --- live_cart_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_cart` LIKE `ylrz_saas`.`live_cart`;
+
+-- --- live_completion_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_completion_points_record` LIKE `ylrz_saas`.`live_completion_points_record`;
+
+-- --- live_coupon_* (5 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_coupon` LIKE `ylrz_saas`.`live_coupon`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_coupon_issue` LIKE `ylrz_saas`.`live_coupon_issue`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_coupon_issue_relation` LIKE `ylrz_saas`.`live_coupon_issue_relation`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_coupon_issue_user` LIKE `ylrz_saas`.`live_coupon_issue_user`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_coupon_user` LIKE `ylrz_saas`.`live_coupon_user`;
+
+-- --- live_data_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_data` LIKE `ylrz_saas`.`live_data`;
+
+-- --- live_event_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_event_conf` LIKE `ylrz_saas`.`live_event_conf`;
+
+-- --- live_gift_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_gift` LIKE `ylrz_saas`.`live_gift`;
+
+-- --- live_goods_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_goods` LIKE `ylrz_saas`.`live_goods`;
+
+-- --- live_lottery_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_lottery_conf` LIKE `ylrz_saas`.`live_lottery_conf`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_lottery_product_conf` LIKE `ylrz_saas`.`live_lottery_product_conf`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_lottery_registration` LIKE `ylrz_saas`.`live_lottery_registration`;
+
+-- --- live_msg_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_msg` LIKE `ylrz_saas`.`live_msg`;
+
+-- --- live_order_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_order_logs` LIKE `ylrz_saas`.`live_order_logs`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_order_payment_error` LIKE `ylrz_saas`.`live_order_payment_error`;
+
+-- --- live_red_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_red_conf` LIKE `ylrz_saas`.`live_red_conf`;
+
+-- --- live_reward_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_reward_record` LIKE `ylrz_saas`.`live_reward_record`;
+
+-- --- live_sensitive_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_sensitive_words` LIKE `ylrz_saas`.`live_sensitive_words`;
+
+-- --- live_tag_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_tag_config` LIKE `ylrz_saas`.`live_tag_config`;
+
+-- --- live_traffic_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_traffic_log` LIKE `ylrz_saas`.`live_traffic_log`;
+
+-- --- live_user_* (6 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_user_favorite` LIKE `ylrz_saas`.`live_user_favorite`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_user_first_entry` LIKE `ylrz_saas`.`live_user_first_entry`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_user_follow` LIKE `ylrz_saas`.`live_user_follow`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_user_like` LIKE `ylrz_saas`.`live_user_like`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_user_lottery_record` LIKE `ylrz_saas`.`live_user_lottery_record`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_user_red_record` LIKE `ylrz_saas`.`live_user_red_record`;
+
+-- --- live_watch_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_watch_log` LIKE `ylrz_saas`.`live_watch_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`live_watch_user` LIKE `ylrz_saas`.`live_watch_user`;
+
+-- --- lobster_compliance_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`lobster_compliance_rule` LIKE `ylrz_saas`.`lobster_compliance_rule`;
+
+-- --- lobster_conversation_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`lobster_conversation_summary` LIKE `ylrz_saas`.`lobster_conversation_summary`;
+
+-- --- lobster_node_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`lobster_node_execution_log` LIKE `ylrz_saas`.`lobster_node_execution_log`;
+
+-- --- lobster_workflow_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`lobster_workflow_instance` LIKE `ylrz_saas`.`lobster_workflow_instance`;
+
+-- --- lucky_bag_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`lucky_bag` LIKE `ylrz_saas`.`lucky_bag`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`lucky_bag_collect_record` LIKE `ylrz_saas`.`lucky_bag_collect_record`;
+
+-- --- qw_app_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_app_contact_way` LIKE `ylrz_saas`.`qw_app_contact_way`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_app_contact_way_logs` LIKE `ylrz_saas`.`qw_app_contact_way_logs`;
+
+-- --- qw_auto_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_auto_tags` LIKE `ylrz_saas`.`qw_auto_tags`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_auto_tags_logs` LIKE `ylrz_saas`.`qw_auto_tags_logs`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_auto_tags_rules` LIKE `ylrz_saas`.`qw_auto_tags_rules`;
+
+-- --- qw_contact_* (5 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_contact_batch` LIKE `ylrz_saas`.`qw_contact_batch`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_contact_way` LIKE `ylrz_saas`.`qw_contact_way`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_contact_way_group` LIKE `ylrz_saas`.`qw_contact_way_group`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_contact_way_logs` LIKE `ylrz_saas`.`qw_contact_way_logs`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_contact_way_user` LIKE `ylrz_saas`.`qw_contact_way_user`;
+
+-- --- qw_course_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_course_finish_remark_rty` LIKE `ylrz_saas`.`qw_course_finish_remark_rty`;
+
+-- --- qw_customer_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_customer_property` LIKE `ylrz_saas`.`qw_customer_property`;
+
+-- --- qw_drainage_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_drainage_link` LIKE `ylrz_saas`.`qw_drainage_link`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_drainage_link_logs` LIKE `ylrz_saas`.`qw_drainage_link_logs`;
+
+-- --- qw_external_* (7 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_external_ai_analyze` LIKE `ylrz_saas`.`qw_external_ai_analyze`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_external_contact_black_log` LIKE `ylrz_saas`.`qw_external_contact_black_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_external_contact_crm` LIKE `ylrz_saas`.`qw_external_contact_crm`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_external_contact_transfer_company_audit` LIKE `ylrz_saas`.`qw_external_contact_transfer_company_audit`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_external_contact_transfer_company_audit_user` LIKE `ylrz_saas`.`qw_external_contact_transfer_company_audit_user`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_external_contact_transfer_log` LIKE `ylrz_saas`.`qw_external_contact_transfer_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_external_err_retry` LIKE `ylrz_saas`.`qw_external_err_retry`;
+
+-- --- qw_friend_* (6 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_friend_circle` LIKE `ylrz_saas`.`qw_friend_circle`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_friend_circle_task` LIKE `ylrz_saas`.`qw_friend_circle_task`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_friend_comments` LIKE `ylrz_saas`.`qw_friend_comments`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_friend_customer_list` LIKE `ylrz_saas`.`qw_friend_customer_list`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_friend_welcome` LIKE `ylrz_saas`.`qw_friend_welcome`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_friend_welcome_item` LIKE `ylrz_saas`.`qw_friend_welcome_item`;
+
+-- --- qw_group_* (5 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_group_chat` LIKE `ylrz_saas`.`qw_group_chat`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_group_chat_transfer_log` LIKE `ylrz_saas`.`qw_group_chat_transfer_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_group_msg` LIKE `ylrz_saas`.`qw_group_msg`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_group_msg_item` LIKE `ylrz_saas`.`qw_group_msg_item`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_group_msg_user` LIKE `ylrz_saas`.`qw_group_msg_user`;
+
+-- --- qw_groupchat_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_groupchat_statistic` LIKE `ylrz_saas`.`qw_groupchat_statistic`;
+
+-- --- qw_information_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_information` LIKE `ylrz_saas`.`qw_information`;
+
+-- --- qw_ipad_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_ipad_server` LIKE `ylrz_saas`.`qw_ipad_server`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_ipad_server_log` LIKE `ylrz_saas`.`qw_ipad_server_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_ipad_server_user` LIKE `ylrz_saas`.`qw_ipad_server_user`;
+
+-- --- qw_material_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_material` LIKE `ylrz_saas`.`qw_material`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_material_group` LIKE `ylrz_saas`.`qw_material_group`;
+
+-- --- qw_messages_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_messages` LIKE `ylrz_saas`.`qw_messages`;
+
+-- --- qw_msg_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_msg` LIKE `ylrz_saas`.`qw_msg`;
+
+-- --- qw_push_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_push_count` LIKE `ylrz_saas`.`qw_push_count`;
+
+-- --- qw_session_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_session` LIKE `ylrz_saas`.`qw_session`;
+
+-- --- qw_sop_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_sop_logs_detalis` LIKE `ylrz_saas`.`qw_sop_logs_detalis`;
+
+-- --- qw_tag_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_tag_group` LIKE `ylrz_saas`.`qw_tag_group`;
+
+-- --- qw_user_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_user_complain_record` LIKE `ylrz_saas`.`qw_user_complain_record`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_user_video` LIKE `ylrz_saas`.`qw_user_video`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_user_voice_log` LIKE `ylrz_saas`.`qw_user_voice_log`;
+
+-- --- qw_userbehavior_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_userbehavior_data` LIKE `ylrz_saas`.`qw_userbehavior_data`;
+
+-- --- qw_welcome_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_welcome` LIKE `ylrz_saas`.`qw_welcome`;
+
+-- --- qw_work_* (3 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_work_link` LIKE `ylrz_saas`.`qw_work_link`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_work_link_user` LIKE `ylrz_saas`.`qw_work_link_user`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`qw_work_user` LIKE `ylrz_saas`.`qw_work_user`;
+
+-- --- tulin_info_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`tulin_info_sync_log` LIKE `ylrz_saas`.`tulin_info_sync_log`;
+
+-- --- uni_push_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`uni_push_log` LIKE `ylrz_saas`.`uni_push_log`;
+
+-- --- watch_beginner_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_beginner_guide` LIKE `ylrz_saas`.`watch_beginner_guide`;
+
+-- --- watch_device_* (4 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_device_account` LIKE `ylrz_saas`.`watch_device_account`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_device_day` LIKE `ylrz_saas`.`watch_device_day`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_device_info` LIKE `ylrz_saas`.`watch_device_info`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_device_setup` LIKE `ylrz_saas`.`watch_device_setup`;
+
+-- --- watch_family_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_family_user` LIKE `ylrz_saas`.`watch_family_user`;
+
+-- --- watch_materials_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_materials` LIKE `ylrz_saas`.`watch_materials`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_materials_type` LIKE `ylrz_saas`.`watch_materials_type`;
+
+-- --- watch_medication_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_medication_task` LIKE `ylrz_saas`.`watch_medication_task`;
+
+-- --- watch_monitor_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_monitor_data_type` LIKE `ylrz_saas`.`watch_monitor_data_type`;
+
+-- --- watch_msg_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_msg_set` LIKE `ylrz_saas`.`watch_msg_set`;
+
+-- --- watch_send_* (2 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_send_msg_log` LIKE `ylrz_saas`.`watch_send_msg_log`;
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_send_msg_set` LIKE `ylrz_saas`.`watch_send_msg_set`;
+
+-- --- watch_user_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`watch_user` LIKE `ylrz_saas`.`watch_user`;
+
+-- --- wx_contact_* (1 tables) ---
+CREATE TABLE IF NOT EXISTS `ylrz_saas_tenant`.`wx_contact` LIKE `ylrz_saas`.`wx_contact`;
+
+-- ============================================================================
+-- 第二阶段: INSERT DATA (复制数据)
+-- ============================================================================
+
+-- --- ad_domain_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`ad_domain` SELECT * FROM `ylrz_saas`.`ad_domain`;
+
+-- --- ad_dy_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`ad_dy_account` SELECT * FROM `ylrz_saas`.`ad_dy_account`;
+INSERT INTO `ylrz_saas_tenant`.`ad_dy_api` SELECT * FROM `ylrz_saas`.`ad_dy_api`;
+
+-- --- ad_html_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`ad_html_template` SELECT * FROM `ylrz_saas`.`ad_html_template`;
+
+-- --- ad_iqiyi_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`ad_iqiyi_account` SELECT * FROM `ylrz_saas`.`ad_iqiyi_account`;
+
+-- --- ad_site_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`ad_site` SELECT * FROM `ylrz_saas`.`ad_site`;
+
+-- --- ad_upload_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`ad_upload_log` SELECT * FROM `ylrz_saas`.`ad_upload_log`;
+
+-- --- ad_youku_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`ad_youku_account` SELECT * FROM `ylrz_saas`.`ad_youku_account`;
+
+-- --- ai_knowledge_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`ai_knowledge_base` SELECT * FROM `ylrz_saas`.`ai_knowledge_base`;
+
+-- --- bd_api_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`bd_api` SELECT * FROM `ylrz_saas`.`bd_api`;
+
+-- --- bd_creative_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`bd_creative_statistics` SELECT * FROM `ylrz_saas`.`bd_creative_statistics`;
+
+-- --- bd_report_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`bd_report_data` SELECT * FROM `ylrz_saas`.`bd_report_data`;
+
+-- --- chat_dataset_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`chat_dataset` SELECT * FROM `ylrz_saas`.`chat_dataset`;
+INSERT INTO `ylrz_saas_tenant`.`chat_dataset_file` SELECT * FROM `ylrz_saas`.`chat_dataset_file`;
+
+-- --- chat_keyword_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`chat_keyword` SELECT * FROM `ylrz_saas`.`chat_keyword`;
+
+-- --- chat_msg_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`chat_msg` SELECT * FROM `ylrz_saas`.`chat_msg`;
+INSERT INTO `ylrz_saas_tenant`.`chat_msg_logs` SELECT * FROM `ylrz_saas`.`chat_msg_logs`;
+
+-- --- chat_role_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`chat_role` SELECT * FROM `ylrz_saas`.`chat_role`;
+
+-- --- chat_session_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`chat_session` SELECT * FROM `ylrz_saas`.`chat_session`;
+
+-- --- chat_user_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`chat_user` SELECT * FROM `ylrz_saas`.`chat_user`;
+
+-- --- cid_ipad_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`cid_ipad_server` SELECT * FROM `ylrz_saas`.`cid_ipad_server`;
+INSERT INTO `ylrz_saas_tenant`.`cid_ipad_server_user` SELECT * FROM `ylrz_saas`.`cid_ipad_server_user`;
+
+-- --- company_ai_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_ai_workflow_node_type` SELECT * FROM `ylrz_saas`.`company_ai_workflow_node_type`;
+
+-- --- company_company_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_company_fsuser` SELECT * FROM `ylrz_saas`.`company_company_fsuser`;
+
+-- --- company_deduct_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_deduct` SELECT * FROM `ylrz_saas`.`company_deduct`;
+
+-- --- company_div_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_div_config` SELECT * FROM `ylrz_saas`.`company_div_config`;
+INSERT INTO `ylrz_saas_tenant`.`company_div_item` SELECT * FROM `ylrz_saas`.`company_div_item`;
+
+-- --- company_logininfor_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_logininfor` SELECT * FROM `ylrz_saas`.`company_logininfor`;
+
+-- --- company_miniapp_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_miniapp` SELECT * FROM `ylrz_saas`.`company_miniapp`;
+
+-- --- company_post_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_post` SELECT * FROM `ylrz_saas`.`company_post`;
+
+-- --- company_profit_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_profit_logs` SELECT * FROM `ylrz_saas`.`company_profit_logs`;
+
+-- --- company_recharge_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_recharge` SELECT * FROM `ylrz_saas`.`company_recharge`;
+
+-- --- company_role_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_role_dept` SELECT * FROM `ylrz_saas`.`company_role_dept`;
+INSERT INTO `ylrz_saas_tenant`.`company_role_menu` SELECT * FROM `ylrz_saas`.`company_role_menu`;
+
+-- --- company_sop_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_sop_role` SELECT * FROM `ylrz_saas`.`company_sop_role`;
+
+-- --- company_tag_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_tag` SELECT * FROM `ylrz_saas`.`company_tag`;
+INSERT INTO `ylrz_saas_tenant`.`company_tag_user` SELECT * FROM `ylrz_saas`.`company_tag_user`;
+
+-- --- company_tcm_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_tcm_consume` SELECT * FROM `ylrz_saas`.`company_tcm_consume`;
+INSERT INTO `ylrz_saas_tenant`.`company_tcm_report` SELECT * FROM `ylrz_saas`.`company_tcm_report`;
+INSERT INTO `ylrz_saas_tenant`.`company_tcm_schedule` SELECT * FROM `ylrz_saas`.`company_tcm_schedule`;
+
+-- --- company_user_* (5 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_user_card` SELECT * FROM `ylrz_saas`.`company_user_card`;
+INSERT INTO `ylrz_saas_tenant`.`company_user_change_apply_user` SELECT * FROM `ylrz_saas`.`company_user_change_apply_user`;
+INSERT INTO `ylrz_saas_tenant`.`company_user_delay_time` SELECT * FROM `ylrz_saas`.`company_user_delay_time`;
+INSERT INTO `ylrz_saas_tenant`.`company_user_post` SELECT * FROM `ylrz_saas`.`company_user_post`;
+INSERT INTO `ylrz_saas_tenant`.`company_user_user` SELECT * FROM `ylrz_saas`.`company_user_user`;
+
+-- --- company_voice_* (7 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_voice` SELECT * FROM `ylrz_saas`.`company_voice`;
+INSERT INTO `ylrz_saas_tenant`.`company_voice_config` SELECT * FROM `ylrz_saas`.`company_voice_config`;
+INSERT INTO `ylrz_saas_tenant`.`company_voice_dialog` SELECT * FROM `ylrz_saas`.`company_voice_dialog`;
+INSERT INTO `ylrz_saas_tenant`.`company_voice_mobile` SELECT * FROM `ylrz_saas`.`company_voice_mobile`;
+INSERT INTO `ylrz_saas_tenant`.`company_voice_package` SELECT * FROM `ylrz_saas`.`company_voice_package`;
+INSERT INTO `ylrz_saas_tenant`.`company_voice_robotic_call_log_addwx` SELECT * FROM `ylrz_saas`.`company_voice_robotic_call_log_addwx`;
+INSERT INTO `ylrz_saas_tenant`.`company_voice_robotic_call_log_sendmsg` SELECT * FROM `ylrz_saas`.`company_voice_robotic_call_log_sendmsg`;
+
+-- --- company_workflow_* (6 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_workflow_lobster` SELECT * FROM `ylrz_saas`.`company_workflow_lobster`;
+INSERT INTO `ylrz_saas_tenant`.`company_workflow_lobster_edge` SELECT * FROM `ylrz_saas`.`company_workflow_lobster_edge`;
+INSERT INTO `ylrz_saas_tenant`.`company_workflow_lobster_node` SELECT * FROM `ylrz_saas`.`company_workflow_lobster_node`;
+INSERT INTO `ylrz_saas_tenant`.`company_workflow_lobster_record` SELECT * FROM `ylrz_saas`.`company_workflow_lobster_record`;
+INSERT INTO `ylrz_saas_tenant`.`company_workflow_lobster_task` SELECT * FROM `ylrz_saas`.`company_workflow_lobster_task`;
+INSERT INTO `ylrz_saas_tenant`.`company_workflow_lobster_variable` SELECT * FROM `ylrz_saas`.`company_workflow_lobster_variable`;
+
+-- --- company_wx_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`company_wx_chat` SELECT * FROM `ylrz_saas`.`company_wx_chat`;
+INSERT INTO `ylrz_saas_tenant`.`company_wx_user_group` SELECT * FROM `ylrz_saas`.`company_wx_user_group`;
+
+-- --- crm_customer_* (8 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`crm_customer_analyze` SELECT * FROM `ylrz_saas`.`crm_customer_analyze`;
+INSERT INTO `ylrz_saas_tenant`.`crm_customer_assign` SELECT * FROM `ylrz_saas`.`crm_customer_assign`;
+INSERT INTO `ylrz_saas_tenant`.`crm_customer_contacts` SELECT * FROM `ylrz_saas`.`crm_customer_contacts`;
+INSERT INTO `ylrz_saas_tenant`.`crm_customer_ext` SELECT * FROM `ylrz_saas`.`crm_customer_ext`;
+INSERT INTO `ylrz_saas_tenant`.`crm_customer_his_order` SELECT * FROM `ylrz_saas`.`crm_customer_his_order`;
+INSERT INTO `ylrz_saas_tenant`.`crm_customer_logs` SELECT * FROM `ylrz_saas`.`crm_customer_logs`;
+INSERT INTO `ylrz_saas_tenant`.`crm_customer_third` SELECT * FROM `ylrz_saas`.`crm_customer_third`;
+INSERT INTO `ylrz_saas_tenant`.`crm_customer_user` SELECT * FROM `ylrz_saas`.`crm_customer_user`;
+
+-- --- crm_event_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`crm_event` SELECT * FROM `ylrz_saas`.`crm_event`;
+
+-- --- crm_msg_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`crm_msg` SELECT * FROM `ylrz_saas`.`crm_msg`;
+
+-- --- customer_transfer_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`customer_transfer_approval` SELECT * FROM `ylrz_saas`.`customer_transfer_approval`;
+
+-- --- fastgpt_chat_* (6 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_chat_artificial_words` SELECT * FROM `ylrz_saas`.`fastgpt_chat_artificial_words`;
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_chat_keyword` SELECT * FROM `ylrz_saas`.`fastgpt_chat_keyword`;
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_chat_msg_logs` SELECT * FROM `ylrz_saas`.`fastgpt_chat_msg_logs`;
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_chat_replace_text` SELECT * FROM `ylrz_saas`.`fastgpt_chat_replace_text`;
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_chat_replace_words` SELECT * FROM `ylrz_saas`.`fastgpt_chat_replace_words`;
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_chat_voice_homo` SELECT * FROM `ylrz_saas`.`fastgpt_chat_voice_homo`;
+
+-- --- fastgpt_collection_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_collection` SELECT * FROM `ylrz_saas`.`fastgpt_collection`;
+
+-- --- fastgpt_collention_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_collention_data` SELECT * FROM `ylrz_saas`.`fastgpt_collention_data`;
+
+-- --- fastgpt_dataset_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_dataset` SELECT * FROM `ylrz_saas`.`fastgpt_dataset`;
+
+-- --- fastgpt_event_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_event_log` SELECT * FROM `ylrz_saas`.`fastgpt_event_log`;
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_event_log_total` SELECT * FROM `ylrz_saas`.`fastgpt_event_log_total`;
+
+-- --- fastgpt_ext_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_ext_user_tag` SELECT * FROM `ylrz_saas`.`fastgpt_ext_user_tag`;
+
+-- --- fastgpt_keyword_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_keyword` SELECT * FROM `ylrz_saas`.`fastgpt_keyword`;
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_keyword_artificial` SELECT * FROM `ylrz_saas`.`fastgpt_keyword_artificial`;
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_keyword_send` SELECT * FROM `ylrz_saas`.`fastgpt_keyword_send`;
+
+-- --- fastgpt_push_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_push_token_total` SELECT * FROM `ylrz_saas`.`fastgpt_push_token_total`;
+
+-- --- fastgpt_role_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_role_tag` SELECT * FROM `ylrz_saas`.`fastgpt_role_tag`;
+
+-- --- fastgpt_tag_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_tag` SELECT * FROM `ylrz_saas`.`fastgpt_tag`;
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_tag_group` SELECT * FROM `ylrz_saas`.`fastgpt_tag_group`;
+
+-- --- fastgpt_user_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fastgpt_user` SELECT * FROM `ylrz_saas`.`fastgpt_user`;
+
+-- --- fs_adv_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_adv_sem` SELECT * FROM `ylrz_saas`.`fs_adv_sem`;
+
+-- --- fs_ai_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_ai_workflow_edge` SELECT * FROM `ylrz_saas`.`fs_ai_workflow_edge`;
+INSERT INTO `ylrz_saas_tenant`.`fs_ai_workflow_node_type` SELECT * FROM `ylrz_saas`.`fs_ai_workflow_node_type`;
+
+-- --- fs_app_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_app_contact_way` SELECT * FROM `ylrz_saas`.`fs_app_contact_way`;
+INSERT INTO `ylrz_saas_tenant`.`fs_app_version` SELECT * FROM `ylrz_saas`.`fs_app_version`;
+
+-- --- fs_article_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_article` SELECT * FROM `ylrz_saas`.`fs_article`;
+INSERT INTO `ylrz_saas_tenant`.`fs_article_cate` SELECT * FROM `ylrz_saas`.`fs_article_cate`;
+INSERT INTO `ylrz_saas_tenant`.`fs_article_views` SELECT * FROM `ylrz_saas`.`fs_article_views`;
+
+-- --- fs_chinese_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_chinese_medicine` SELECT * FROM `ylrz_saas`.`fs_chinese_medicine`;
+
+-- --- fs_city_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_city` SELECT * FROM `ylrz_saas`.`fs_city`;
+
+-- --- fs_complaint_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_complaint_template` SELECT * FROM `ylrz_saas`.`fs_complaint_template`;
+
+-- --- fs_coupon_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_coupon` SELECT * FROM `ylrz_saas`.`fs_coupon`;
+
+-- --- fs_course_* (12 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_course_domain_name` SELECT * FROM `ylrz_saas`.`fs_course_domain_name`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_finish_temp` SELECT * FROM `ylrz_saas`.`fs_course_finish_temp`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_finish_temp_parent` SELECT * FROM `ylrz_saas`.`fs_course_finish_temp_parent`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_link` SELECT * FROM `ylrz_saas`.`fs_course_link`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_product` SELECT * FROM `ylrz_saas`.`fs_course_product`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_product_order` SELECT * FROM `ylrz_saas`.`fs_course_product_order`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_question_bank` SELECT * FROM `ylrz_saas`.`fs_course_question_bank`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_question_category` SELECT * FROM `ylrz_saas`.`fs_course_question_category`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_sop` SELECT * FROM `ylrz_saas`.`fs_course_sop`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_sop_app_link` SELECT * FROM `ylrz_saas`.`fs_course_sop_app_link`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_sop_logs` SELECT * FROM `ylrz_saas`.`fs_course_sop_logs`;
+INSERT INTO `ylrz_saas_tenant`.`fs_course_watch_comment` SELECT * FROM `ylrz_saas`.`fs_course_watch_comment`;
+
+-- --- fs_df_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_df_account` SELECT * FROM `ylrz_saas`.`fs_df_account`;
+
+-- --- fs_disease_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_disease` SELECT * FROM `ylrz_saas`.`fs_disease`;
+
+-- --- fs_doctor_* (14 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_ai_chat_log` SELECT * FROM `ylrz_saas`.`fs_doctor_ai_chat_log`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_ai_chat_msg` SELECT * FROM `ylrz_saas`.`fs_doctor_ai_chat_msg`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_ai_chat_session` SELECT * FROM `ylrz_saas`.`fs_doctor_ai_chat_session`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_article` SELECT * FROM `ylrz_saas`.`fs_doctor_article`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_article_cate` SELECT * FROM `ylrz_saas`.`fs_doctor_article_cate`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_bill` SELECT * FROM `ylrz_saas`.`fs_doctor_bill`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_confirm` SELECT * FROM `ylrz_saas`.`fs_doctor_confirm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_extract` SELECT * FROM `ylrz_saas`.`fs_doctor_extract`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_oper_log` SELECT * FROM `ylrz_saas`.`fs_doctor_oper_log`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_prescribe` SELECT * FROM `ylrz_saas`.`fs_doctor_prescribe`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_prescribe_drug` SELECT * FROM `ylrz_saas`.`fs_doctor_prescribe_drug`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_price` SELECT * FROM `ylrz_saas`.`fs_doctor_price`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_product` SELECT * FROM `ylrz_saas`.`fs_doctor_product`;
+INSERT INTO `ylrz_saas_tenant`.`fs_doctor_words` SELECT * FROM `ylrz_saas`.`fs_doctor_words`;
+
+-- --- fs_drug_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_drug_report` SELECT * FROM `ylrz_saas`.`fs_drug_report`;
+INSERT INTO `ylrz_saas_tenant`.`fs_drug_report_count` SELECT * FROM `ylrz_saas`.`fs_drug_report_count`;
+
+-- --- fs_express_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_express` SELECT * FROM `ylrz_saas`.`fs_express`;
+
+-- --- fs_famous_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_famous_prescribe` SELECT * FROM `ylrz_saas`.`fs_famous_prescribe`;
+
+-- --- fs_finish_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_finish_course_statistics_sync` SELECT * FROM `ylrz_saas`.`fs_finish_course_statistics_sync`;
+
+-- --- fs_first_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_first_diagnosis` SELECT * FROM `ylrz_saas`.`fs_first_diagnosis`;
+
+-- --- fs_follow_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_follow` SELECT * FROM `ylrz_saas`.`fs_follow`;
+INSERT INTO `ylrz_saas_tenant`.`fs_follow_report` SELECT * FROM `ylrz_saas`.`fs_follow_report`;
+INSERT INTO `ylrz_saas_tenant`.`fs_follow_temp` SELECT * FROM `ylrz_saas`.`fs_follow_temp`;
+
+-- --- fs_health_* (5 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_health_data` SELECT * FROM `ylrz_saas`.`fs_health_data`;
+INSERT INTO `ylrz_saas_tenant`.`fs_health_history_temp` SELECT * FROM `ylrz_saas`.`fs_health_history_temp`;
+INSERT INTO `ylrz_saas_tenant`.`fs_health_life` SELECT * FROM `ylrz_saas`.`fs_health_life`;
+INSERT INTO `ylrz_saas_tenant`.`fs_health_record` SELECT * FROM `ylrz_saas`.`fs_health_record`;
+INSERT INTO `ylrz_saas_tenant`.`fs_health_tongue` SELECT * FROM `ylrz_saas`.`fs_health_tongue`;
+
+-- --- fs_hfpay_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_hfpay_config` SELECT * FROM `ylrz_saas`.`fs_hfpay_config`;
+
+-- --- fs_icd_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_icd` SELECT * FROM `ylrz_saas`.`fs_icd`;
+
+-- --- fs_illness_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_illness_library` SELECT * FROM `ylrz_saas`.`fs_illness_library`;
+
+-- --- fs_im_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_im_msg_send_detail` SELECT * FROM `ylrz_saas`.`fs_im_msg_send_detail`;
+INSERT INTO `ylrz_saas_tenant`.`fs_im_msg_send_log` SELECT * FROM `ylrz_saas`.`fs_im_msg_send_log`;
+
+-- --- fs_inquiry_* (7 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_inquiry_disease` SELECT * FROM `ylrz_saas`.`fs_inquiry_disease`;
+INSERT INTO `ylrz_saas_tenant`.`fs_inquiry_order_logs` SELECT * FROM `ylrz_saas`.`fs_inquiry_order_logs`;
+INSERT INTO `ylrz_saas_tenant`.`fs_inquiry_order_media` SELECT * FROM `ylrz_saas`.`fs_inquiry_order_media`;
+INSERT INTO `ylrz_saas_tenant`.`fs_inquiry_order_msg` SELECT * FROM `ylrz_saas`.`fs_inquiry_order_msg`;
+INSERT INTO `ylrz_saas_tenant`.`fs_inquiry_order_ping` SELECT * FROM `ylrz_saas`.`fs_inquiry_order_ping`;
+INSERT INTO `ylrz_saas_tenant`.`fs_inquiry_patient_info` SELECT * FROM `ylrz_saas`.`fs_inquiry_patient_info`;
+INSERT INTO `ylrz_saas_tenant`.`fs_inquiry_temp` SELECT * FROM `ylrz_saas`.`fs_inquiry_temp`;
+
+-- --- fs_integral_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_integral_cart` SELECT * FROM `ylrz_saas`.`fs_integral_cart`;
+INSERT INTO `ylrz_saas_tenant`.`fs_integral_order` SELECT * FROM `ylrz_saas`.`fs_integral_order`;
+INSERT INTO `ylrz_saas_tenant`.`fs_integral_order_logs` SELECT * FROM `ylrz_saas`.`fs_integral_order_logs`;
+
+-- --- fs_interest_* (4 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_interest_ai_msg` SELECT * FROM `ylrz_saas`.`fs_interest_ai_msg`;
+INSERT INTO `ylrz_saas_tenant`.`fs_interest_ai_role` SELECT * FROM `ylrz_saas`.`fs_interest_ai_role`;
+INSERT INTO `ylrz_saas_tenant`.`fs_interest_ai_role_words` SELECT * FROM `ylrz_saas`.`fs_interest_ai_role_words`;
+INSERT INTO `ylrz_saas_tenant`.`fs_interest_ai_session` SELECT * FROM `ylrz_saas`.`fs_interest_ai_session`;
+
+-- --- fs_material_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_material` SELECT * FROM `ylrz_saas`.`fs_material`;
+INSERT INTO `ylrz_saas_tenant`.`fs_material_group` SELECT * FROM `ylrz_saas`.`fs_material_group`;
+
+-- --- fs_medicated_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_medicated_food` SELECT * FROM `ylrz_saas`.`fs_medicated_food`;
+
+-- --- fs_mess_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_mess_temp` SELECT * FROM `ylrz_saas`.`fs_mess_temp`;
+
+-- --- fs_package_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_package_cate` SELECT * FROM `ylrz_saas`.`fs_package_cate`;
+INSERT INTO `ylrz_saas_tenant`.`fs_package_favorite` SELECT * FROM `ylrz_saas`.`fs_package_favorite`;
+INSERT INTO `ylrz_saas_tenant`.`fs_package_solar_term` SELECT * FROM `ylrz_saas`.`fs_package_solar_term`;
+
+-- --- fs_physical_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_physical_report_template` SELECT * FROM `ylrz_saas`.`fs_physical_report_template`;
+INSERT INTO `ylrz_saas_tenant`.`fs_physical_report_template_field` SELECT * FROM `ylrz_saas`.`fs_physical_report_template_field`;
+
+-- --- fs_prescribe_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_prescribe` SELECT * FROM `ylrz_saas`.`fs_prescribe`;
+
+-- --- fs_promotional_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_promotional_active` SELECT * FROM `ylrz_saas`.`fs_promotional_active`;
+INSERT INTO `ylrz_saas_tenant`.`fs_promotional_active_log` SELECT * FROM `ylrz_saas`.`fs_promotional_active_log`;
+
+-- --- fs_question_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_question_and_answer` SELECT * FROM `ylrz_saas`.`fs_question_and_answer`;
+
+-- --- fs_questions_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_questions` SELECT * FROM `ylrz_saas`.`fs_questions`;
+
+-- --- fs_statis_* (5 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_statis_qw_temp_param` SELECT * FROM `ylrz_saas`.`fs_statis_qw_temp_param`;
+INSERT INTO `ylrz_saas_tenant`.`fs_statis_qw_watch` SELECT * FROM `ylrz_saas`.`fs_statis_qw_watch`;
+INSERT INTO `ylrz_saas_tenant`.`fs_statis_saler_watch` SELECT * FROM `ylrz_saas`.`fs_statis_saler_watch`;
+INSERT INTO `ylrz_saas_tenant`.`fs_statis_temp_fsuser` SELECT * FROM `ylrz_saas`.`fs_statis_temp_fsuser`;
+INSERT INTO `ylrz_saas_tenant`.`fs_statis_temp_param` SELECT * FROM `ylrz_saas`.`fs_statis_temp_param`;
+
+-- --- fs_statistics_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_statistics` SELECT * FROM `ylrz_saas`.`fs_statistics`;
+
+-- --- fs_store_* (40 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_store` SELECT * FROM `ylrz_saas`.`fs_store`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_activity` SELECT * FROM `ylrz_saas`.`fs_store_activity`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_activity_scrm` SELECT * FROM `ylrz_saas`.`fs_store_activity_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_after_sales` SELECT * FROM `ylrz_saas`.`fs_store_after_sales`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_after_sales_item` SELECT * FROM `ylrz_saas`.`fs_store_after_sales_item`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_after_sales_logs` SELECT * FROM `ylrz_saas`.`fs_store_after_sales_logs`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_after_sales_logs_scrm` SELECT * FROM `ylrz_saas`.`fs_store_after_sales_logs_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_bill` SELECT * FROM `ylrz_saas`.`fs_store_bill`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_bill_scrm` SELECT * FROM `ylrz_saas`.`fs_store_bill_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_canvas_scrm` SELECT * FROM `ylrz_saas`.`fs_store_canvas_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_cart_scrm` SELECT * FROM `ylrz_saas`.`fs_store_cart_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_coupon_issue_scrm` SELECT * FROM `ylrz_saas`.`fs_store_coupon_issue_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_coupon_issue_user_scrm` SELECT * FROM `ylrz_saas`.`fs_store_coupon_issue_user_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_coupon_scrm` SELECT * FROM `ylrz_saas`.`fs_store_coupon_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_coupon_user_scrm` SELECT * FROM `ylrz_saas`.`fs_store_coupon_user_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_extract` SELECT * FROM `ylrz_saas`.`fs_store_extract`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_order_audit_scrm` SELECT * FROM `ylrz_saas`.`fs_store_order_audit_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_order_bill_log` SELECT * FROM `ylrz_saas`.`fs_store_order_bill_log`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_order_logs` SELECT * FROM `ylrz_saas`.`fs_store_order_logs`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_order_logs_scrm` SELECT * FROM `ylrz_saas`.`fs_store_order_logs_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_order_notice_scrm` SELECT * FROM `ylrz_saas`.`fs_store_order_notice_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_payment_error` SELECT * FROM `ylrz_saas`.`fs_store_payment_error`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product` SELECT * FROM `ylrz_saas`.`fs_store_product`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_attr` SELECT * FROM `ylrz_saas`.`fs_store_product_attr`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_attr_scrm` SELECT * FROM `ylrz_saas`.`fs_store_product_attr_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_attr_value` SELECT * FROM `ylrz_saas`.`fs_store_product_attr_value`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_category` SELECT * FROM `ylrz_saas`.`fs_store_product_category`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_details_scrm` SELECT * FROM `ylrz_saas`.`fs_store_product_details_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_group` SELECT * FROM `ylrz_saas`.`fs_store_product_group`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_group_scrm` SELECT * FROM `ylrz_saas`.`fs_store_product_group_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_package` SELECT * FROM `ylrz_saas`.`fs_store_product_package`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_purchase_limit_scrm` SELECT * FROM `ylrz_saas`.`fs_store_product_purchase_limit_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_relation_scrm` SELECT * FROM `ylrz_saas`.`fs_store_product_relation_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_reply_scrm` SELECT * FROM `ylrz_saas`.`fs_store_product_reply_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_rule_scrm` SELECT * FROM `ylrz_saas`.`fs_store_product_rule_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_product_template_scrm` SELECT * FROM `ylrz_saas`.`fs_store_product_template_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_recommend_scrm` SELECT * FROM `ylrz_saas`.`fs_store_recommend_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_shop_staff_scrm` SELECT * FROM `ylrz_saas`.`fs_store_shop_staff_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_sub_order` SELECT * FROM `ylrz_saas`.`fs_store_sub_order`;
+INSERT INTO `ylrz_saas_tenant`.`fs_store_visit_scrm` SELECT * FROM `ylrz_saas`.`fs_store_visit_scrm`;
+
+-- --- fs_test_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_test_report` SELECT * FROM `ylrz_saas`.`fs_test_report`;
+INSERT INTO `ylrz_saas_tenant`.`fs_test_temp` SELECT * FROM `ylrz_saas`.`fs_test_temp`;
+INSERT INTO `ylrz_saas_tenant`.`fs_test_temp_item` SELECT * FROM `ylrz_saas`.`fs_test_temp_item`;
+
+-- --- fs_tongue_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_tongue_info` SELECT * FROM `ylrz_saas`.`fs_tongue_info`;
+
+-- --- fs_user_* (51 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_user_address` SELECT * FROM `ylrz_saas`.`fs_user_address`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_bill` SELECT * FROM `ylrz_saas`.`fs_user_bill`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_company_bind` SELECT * FROM `ylrz_saas`.`fs_user_company_bind`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_company_package_scrm` SELECT * FROM `ylrz_saas`.`fs_user_company_package_scrm`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_company_user` SELECT * FROM `ylrz_saas`.`fs_user_company_user`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_company_user_qw` SELECT * FROM `ylrz_saas`.`fs_user_company_user_qw`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_complaint` SELECT * FROM `ylrz_saas`.`fs_user_complaint`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_complaint_msg` SELECT * FROM `ylrz_saas`.`fs_user_complaint_msg`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_comment` SELECT * FROM `ylrz_saas`.`fs_user_course_comment`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_comment_like` SELECT * FROM `ylrz_saas`.`fs_user_course_comment_like`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_company_statistics` SELECT * FROM `ylrz_saas`.`fs_user_course_company_statistics`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_complaint_record` SELECT * FROM `ylrz_saas`.`fs_user_course_complaint_record`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_complaint_type` SELECT * FROM `ylrz_saas`.`fs_user_course_complaint_type`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_count` SELECT * FROM `ylrz_saas`.`fs_user_course_count`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_favorite` SELECT * FROM `ylrz_saas`.`fs_user_course_favorite`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_follow` SELECT * FROM `ylrz_saas`.`fs_user_course_follow`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_like` SELECT * FROM `ylrz_saas`.`fs_user_course_like`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_note` SELECT * FROM `ylrz_saas`.`fs_user_course_note`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_note_like` SELECT * FROM `ylrz_saas`.`fs_user_course_note_like`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_note_save` SELECT * FROM `ylrz_saas`.`fs_user_course_note_save`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_order` SELECT * FROM `ylrz_saas`.`fs_user_course_order`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_study` SELECT * FROM `ylrz_saas`.`fs_user_course_study`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_study_log` SELECT * FROM `ylrz_saas`.`fs_user_course_study_log`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_course_video_red_package` SELECT * FROM `ylrz_saas`.`fs_user_course_video_red_package`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_doctor` SELECT * FROM `ylrz_saas`.`fs_user_doctor`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_extract` SELECT * FROM `ylrz_saas`.`fs_user_extract`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_information_collection_schedule` SELECT * FROM `ylrz_saas`.`fs_user_information_collection_schedule`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_integral_logs` SELECT * FROM `ylrz_saas`.`fs_user_integral_logs`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_invited` SELECT * FROM `ylrz_saas`.`fs_user_invited`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_login_log` SELECT * FROM `ylrz_saas`.`fs_user_login_log`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_new_task` SELECT * FROM `ylrz_saas`.`fs_user_new_task`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_online_state` SELECT * FROM `ylrz_saas`.`fs_user_online_state`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_operation_log` SELECT * FROM `ylrz_saas`.`fs_user_operation_log`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_project_tag` SELECT * FROM `ylrz_saas`.`fs_user_project_tag`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_recharge` SELECT * FROM `ylrz_saas`.`fs_user_recharge`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_sign` SELECT * FROM `ylrz_saas`.`fs_user_sign`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_talent` SELECT * FROM `ylrz_saas`.`fs_user_talent`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_talent_follow` SELECT * FROM `ylrz_saas`.`fs_user_talent_follow`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_video` SELECT * FROM `ylrz_saas`.`fs_user_video`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_video_comment` SELECT * FROM `ylrz_saas`.`fs_user_video_comment`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_video_comment_like` SELECT * FROM `ylrz_saas`.`fs_user_video_comment_like`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_video_favorite` SELECT * FROM `ylrz_saas`.`fs_user_video_favorite`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_video_like` SELECT * FROM `ylrz_saas`.`fs_user_video_like`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_video_tags` SELECT * FROM `ylrz_saas`.`fs_user_video_tags`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_video_view` SELECT * FROM `ylrz_saas`.`fs_user_video_view`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_vip_order` SELECT * FROM `ylrz_saas`.`fs_user_vip_order`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_vip_package` SELECT * FROM `ylrz_saas`.`fs_user_vip_package`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_watch` SELECT * FROM `ylrz_saas`.`fs_user_watch`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_watch_course_statistics` SELECT * FROM `ylrz_saas`.`fs_user_watch_course_statistics`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_watch_statistics` SELECT * FROM `ylrz_saas`.`fs_user_watch_statistics`;
+INSERT INTO `ylrz_saas_tenant`.`fs_user_wx` SELECT * FROM `ylrz_saas`.`fs_user_wx`;
+
+-- --- fs_vessel_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_vessel` SELECT * FROM `ylrz_saas`.`fs_vessel`;
+
+-- --- fs_video_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_video_barrage` SELECT * FROM `ylrz_saas`.`fs_video_barrage`;
+INSERT INTO `ylrz_saas_tenant`.`fs_video_course_tag` SELECT * FROM `ylrz_saas`.`fs_video_course_tag`;
+INSERT INTO `ylrz_saas_tenant`.`fs_video_resource` SELECT * FROM `ylrz_saas`.`fs_video_resource`;
+
+-- --- fs_wechat_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`fs_wechat_template` SELECT * FROM `ylrz_saas`.`fs_wechat_template`;
+
+-- --- hy_watch_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`hy_watch_log` SELECT * FROM `ylrz_saas`.`hy_watch_log`;
+
+-- --- hy_work_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`hy_work_task` SELECT * FROM `ylrz_saas`.`hy_work_task`;
+
+-- --- ipad_allocation_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`ipad_allocation_records` SELECT * FROM `ylrz_saas`.`ipad_allocation_records`;
+
+-- --- live_after_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_after_sales` SELECT * FROM `ylrz_saas`.`live_after_sales`;
+INSERT INTO `ylrz_saas_tenant`.`live_after_sales_item` SELECT * FROM `ylrz_saas`.`live_after_sales_item`;
+INSERT INTO `ylrz_saas_tenant`.`live_after_sales_logs` SELECT * FROM `ylrz_saas`.`live_after_sales_logs`;
+
+-- --- live_anchor_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_anchor` SELECT * FROM `ylrz_saas`.`live_anchor`;
+
+-- --- live_auto_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_auto_task` SELECT * FROM `ylrz_saas`.`live_auto_task`;
+
+-- --- live_cart_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_cart` SELECT * FROM `ylrz_saas`.`live_cart`;
+
+-- --- live_completion_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_completion_points_record` SELECT * FROM `ylrz_saas`.`live_completion_points_record`;
+
+-- --- live_coupon_* (5 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_coupon` SELECT * FROM `ylrz_saas`.`live_coupon`;
+INSERT INTO `ylrz_saas_tenant`.`live_coupon_issue` SELECT * FROM `ylrz_saas`.`live_coupon_issue`;
+INSERT INTO `ylrz_saas_tenant`.`live_coupon_issue_relation` SELECT * FROM `ylrz_saas`.`live_coupon_issue_relation`;
+INSERT INTO `ylrz_saas_tenant`.`live_coupon_issue_user` SELECT * FROM `ylrz_saas`.`live_coupon_issue_user`;
+INSERT INTO `ylrz_saas_tenant`.`live_coupon_user` SELECT * FROM `ylrz_saas`.`live_coupon_user`;
+
+-- --- live_data_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_data` SELECT * FROM `ylrz_saas`.`live_data`;
+
+-- --- live_event_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_event_conf` SELECT * FROM `ylrz_saas`.`live_event_conf`;
+
+-- --- live_gift_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_gift` SELECT * FROM `ylrz_saas`.`live_gift`;
+
+-- --- live_goods_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_goods` SELECT * FROM `ylrz_saas`.`live_goods`;
+
+-- --- live_lottery_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_lottery_conf` SELECT * FROM `ylrz_saas`.`live_lottery_conf`;
+INSERT INTO `ylrz_saas_tenant`.`live_lottery_product_conf` SELECT * FROM `ylrz_saas`.`live_lottery_product_conf`;
+INSERT INTO `ylrz_saas_tenant`.`live_lottery_registration` SELECT * FROM `ylrz_saas`.`live_lottery_registration`;
+
+-- --- live_msg_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_msg` SELECT * FROM `ylrz_saas`.`live_msg`;
+
+-- --- live_order_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_order_logs` SELECT * FROM `ylrz_saas`.`live_order_logs`;
+INSERT INTO `ylrz_saas_tenant`.`live_order_payment_error` SELECT * FROM `ylrz_saas`.`live_order_payment_error`;
+
+-- --- live_red_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_red_conf` SELECT * FROM `ylrz_saas`.`live_red_conf`;
+
+-- --- live_reward_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_reward_record` SELECT * FROM `ylrz_saas`.`live_reward_record`;
+
+-- --- live_sensitive_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_sensitive_words` SELECT * FROM `ylrz_saas`.`live_sensitive_words`;
+
+-- --- live_tag_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_tag_config` SELECT * FROM `ylrz_saas`.`live_tag_config`;
+
+-- --- live_traffic_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_traffic_log` SELECT * FROM `ylrz_saas`.`live_traffic_log`;
+
+-- --- live_user_* (6 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_user_favorite` SELECT * FROM `ylrz_saas`.`live_user_favorite`;
+INSERT INTO `ylrz_saas_tenant`.`live_user_first_entry` SELECT * FROM `ylrz_saas`.`live_user_first_entry`;
+INSERT INTO `ylrz_saas_tenant`.`live_user_follow` SELECT * FROM `ylrz_saas`.`live_user_follow`;
+INSERT INTO `ylrz_saas_tenant`.`live_user_like` SELECT * FROM `ylrz_saas`.`live_user_like`;
+INSERT INTO `ylrz_saas_tenant`.`live_user_lottery_record` SELECT * FROM `ylrz_saas`.`live_user_lottery_record`;
+INSERT INTO `ylrz_saas_tenant`.`live_user_red_record` SELECT * FROM `ylrz_saas`.`live_user_red_record`;
+
+-- --- live_watch_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`live_watch_log` SELECT * FROM `ylrz_saas`.`live_watch_log`;
+INSERT INTO `ylrz_saas_tenant`.`live_watch_user` SELECT * FROM `ylrz_saas`.`live_watch_user`;
+
+-- --- lobster_compliance_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`lobster_compliance_rule` SELECT * FROM `ylrz_saas`.`lobster_compliance_rule`;
+
+-- --- lobster_conversation_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`lobster_conversation_summary` SELECT * FROM `ylrz_saas`.`lobster_conversation_summary`;
+
+-- --- lobster_node_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`lobster_node_execution_log` SELECT * FROM `ylrz_saas`.`lobster_node_execution_log`;
+
+-- --- lobster_workflow_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`lobster_workflow_instance` SELECT * FROM `ylrz_saas`.`lobster_workflow_instance`;
+
+-- --- lucky_bag_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`lucky_bag` SELECT * FROM `ylrz_saas`.`lucky_bag`;
+INSERT INTO `ylrz_saas_tenant`.`lucky_bag_collect_record` SELECT * FROM `ylrz_saas`.`lucky_bag_collect_record`;
+
+-- --- qw_app_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_app_contact_way` SELECT * FROM `ylrz_saas`.`qw_app_contact_way`;
+INSERT INTO `ylrz_saas_tenant`.`qw_app_contact_way_logs` SELECT * FROM `ylrz_saas`.`qw_app_contact_way_logs`;
+
+-- --- qw_auto_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_auto_tags` SELECT * FROM `ylrz_saas`.`qw_auto_tags`;
+INSERT INTO `ylrz_saas_tenant`.`qw_auto_tags_logs` SELECT * FROM `ylrz_saas`.`qw_auto_tags_logs`;
+INSERT INTO `ylrz_saas_tenant`.`qw_auto_tags_rules` SELECT * FROM `ylrz_saas`.`qw_auto_tags_rules`;
+
+-- --- qw_contact_* (5 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_contact_batch` SELECT * FROM `ylrz_saas`.`qw_contact_batch`;
+INSERT INTO `ylrz_saas_tenant`.`qw_contact_way` SELECT * FROM `ylrz_saas`.`qw_contact_way`;
+INSERT INTO `ylrz_saas_tenant`.`qw_contact_way_group` SELECT * FROM `ylrz_saas`.`qw_contact_way_group`;
+INSERT INTO `ylrz_saas_tenant`.`qw_contact_way_logs` SELECT * FROM `ylrz_saas`.`qw_contact_way_logs`;
+INSERT INTO `ylrz_saas_tenant`.`qw_contact_way_user` SELECT * FROM `ylrz_saas`.`qw_contact_way_user`;
+
+-- --- qw_course_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_course_finish_remark_rty` SELECT * FROM `ylrz_saas`.`qw_course_finish_remark_rty`;
+
+-- --- qw_customer_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_customer_property` SELECT * FROM `ylrz_saas`.`qw_customer_property`;
+
+-- --- qw_drainage_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_drainage_link` SELECT * FROM `ylrz_saas`.`qw_drainage_link`;
+INSERT INTO `ylrz_saas_tenant`.`qw_drainage_link_logs` SELECT * FROM `ylrz_saas`.`qw_drainage_link_logs`;
+
+-- --- qw_external_* (7 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_external_ai_analyze` SELECT * FROM `ylrz_saas`.`qw_external_ai_analyze`;
+INSERT INTO `ylrz_saas_tenant`.`qw_external_contact_black_log` SELECT * FROM `ylrz_saas`.`qw_external_contact_black_log`;
+INSERT INTO `ylrz_saas_tenant`.`qw_external_contact_crm` SELECT * FROM `ylrz_saas`.`qw_external_contact_crm`;
+INSERT INTO `ylrz_saas_tenant`.`qw_external_contact_transfer_company_audit` SELECT * FROM `ylrz_saas`.`qw_external_contact_transfer_company_audit`;
+INSERT INTO `ylrz_saas_tenant`.`qw_external_contact_transfer_company_audit_user` SELECT * FROM `ylrz_saas`.`qw_external_contact_transfer_company_audit_user`;
+INSERT INTO `ylrz_saas_tenant`.`qw_external_contact_transfer_log` SELECT * FROM `ylrz_saas`.`qw_external_contact_transfer_log`;
+INSERT INTO `ylrz_saas_tenant`.`qw_external_err_retry` SELECT * FROM `ylrz_saas`.`qw_external_err_retry`;
+
+-- --- qw_friend_* (6 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_friend_circle` SELECT * FROM `ylrz_saas`.`qw_friend_circle`;
+INSERT INTO `ylrz_saas_tenant`.`qw_friend_circle_task` SELECT * FROM `ylrz_saas`.`qw_friend_circle_task`;
+INSERT INTO `ylrz_saas_tenant`.`qw_friend_comments` SELECT * FROM `ylrz_saas`.`qw_friend_comments`;
+INSERT INTO `ylrz_saas_tenant`.`qw_friend_customer_list` SELECT * FROM `ylrz_saas`.`qw_friend_customer_list`;
+INSERT INTO `ylrz_saas_tenant`.`qw_friend_welcome` SELECT * FROM `ylrz_saas`.`qw_friend_welcome`;
+INSERT INTO `ylrz_saas_tenant`.`qw_friend_welcome_item` SELECT * FROM `ylrz_saas`.`qw_friend_welcome_item`;
+
+-- --- qw_group_* (5 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_group_chat` SELECT * FROM `ylrz_saas`.`qw_group_chat`;
+INSERT INTO `ylrz_saas_tenant`.`qw_group_chat_transfer_log` SELECT * FROM `ylrz_saas`.`qw_group_chat_transfer_log`;
+INSERT INTO `ylrz_saas_tenant`.`qw_group_msg` SELECT * FROM `ylrz_saas`.`qw_group_msg`;
+INSERT INTO `ylrz_saas_tenant`.`qw_group_msg_item` SELECT * FROM `ylrz_saas`.`qw_group_msg_item`;
+INSERT INTO `ylrz_saas_tenant`.`qw_group_msg_user` SELECT * FROM `ylrz_saas`.`qw_group_msg_user`;
+
+-- --- qw_groupchat_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_groupchat_statistic` SELECT * FROM `ylrz_saas`.`qw_groupchat_statistic`;
+
+-- --- qw_information_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_information` SELECT * FROM `ylrz_saas`.`qw_information`;
+
+-- --- qw_ipad_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_ipad_server` SELECT * FROM `ylrz_saas`.`qw_ipad_server`;
+INSERT INTO `ylrz_saas_tenant`.`qw_ipad_server_log` SELECT * FROM `ylrz_saas`.`qw_ipad_server_log`;
+INSERT INTO `ylrz_saas_tenant`.`qw_ipad_server_user` SELECT * FROM `ylrz_saas`.`qw_ipad_server_user`;
+
+-- --- qw_material_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_material` SELECT * FROM `ylrz_saas`.`qw_material`;
+INSERT INTO `ylrz_saas_tenant`.`qw_material_group` SELECT * FROM `ylrz_saas`.`qw_material_group`;
+
+-- --- qw_messages_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_messages` SELECT * FROM `ylrz_saas`.`qw_messages`;
+
+-- --- qw_msg_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_msg` SELECT * FROM `ylrz_saas`.`qw_msg`;
+
+-- --- qw_push_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_push_count` SELECT * FROM `ylrz_saas`.`qw_push_count`;
+
+-- --- qw_session_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_session` SELECT * FROM `ylrz_saas`.`qw_session`;
+
+-- --- qw_sop_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_sop_logs_detalis` SELECT * FROM `ylrz_saas`.`qw_sop_logs_detalis`;
+
+-- --- qw_tag_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_tag_group` SELECT * FROM `ylrz_saas`.`qw_tag_group`;
+
+-- --- qw_user_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_user_complain_record` SELECT * FROM `ylrz_saas`.`qw_user_complain_record`;
+INSERT INTO `ylrz_saas_tenant`.`qw_user_video` SELECT * FROM `ylrz_saas`.`qw_user_video`;
+INSERT INTO `ylrz_saas_tenant`.`qw_user_voice_log` SELECT * FROM `ylrz_saas`.`qw_user_voice_log`;
+
+-- --- qw_userbehavior_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_userbehavior_data` SELECT * FROM `ylrz_saas`.`qw_userbehavior_data`;
+
+-- --- qw_welcome_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_welcome` SELECT * FROM `ylrz_saas`.`qw_welcome`;
+
+-- --- qw_work_* (3 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`qw_work_link` SELECT * FROM `ylrz_saas`.`qw_work_link`;
+INSERT INTO `ylrz_saas_tenant`.`qw_work_link_user` SELECT * FROM `ylrz_saas`.`qw_work_link_user`;
+INSERT INTO `ylrz_saas_tenant`.`qw_work_user` SELECT * FROM `ylrz_saas`.`qw_work_user`;
+
+-- --- tulin_info_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`tulin_info_sync_log` SELECT * FROM `ylrz_saas`.`tulin_info_sync_log`;
+
+-- --- uni_push_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`uni_push_log` SELECT * FROM `ylrz_saas`.`uni_push_log`;
+
+-- --- watch_beginner_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`watch_beginner_guide` SELECT * FROM `ylrz_saas`.`watch_beginner_guide`;
+
+-- --- watch_device_* (4 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`watch_device_account` SELECT * FROM `ylrz_saas`.`watch_device_account`;
+INSERT INTO `ylrz_saas_tenant`.`watch_device_day` SELECT * FROM `ylrz_saas`.`watch_device_day`;
+INSERT INTO `ylrz_saas_tenant`.`watch_device_info` SELECT * FROM `ylrz_saas`.`watch_device_info`;
+INSERT INTO `ylrz_saas_tenant`.`watch_device_setup` SELECT * FROM `ylrz_saas`.`watch_device_setup`;
+
+-- --- watch_family_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`watch_family_user` SELECT * FROM `ylrz_saas`.`watch_family_user`;
+
+-- --- watch_materials_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`watch_materials` SELECT * FROM `ylrz_saas`.`watch_materials`;
+INSERT INTO `ylrz_saas_tenant`.`watch_materials_type` SELECT * FROM `ylrz_saas`.`watch_materials_type`;
+
+-- --- watch_medication_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`watch_medication_task` SELECT * FROM `ylrz_saas`.`watch_medication_task`;
+
+-- --- watch_monitor_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`watch_monitor_data_type` SELECT * FROM `ylrz_saas`.`watch_monitor_data_type`;
+
+-- --- watch_msg_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`watch_msg_set` SELECT * FROM `ylrz_saas`.`watch_msg_set`;
+
+-- --- watch_send_* (2 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`watch_send_msg_log` SELECT * FROM `ylrz_saas`.`watch_send_msg_log`;
+INSERT INTO `ylrz_saas_tenant`.`watch_send_msg_set` SELECT * FROM `ylrz_saas`.`watch_send_msg_set`;
+
+-- --- watch_user_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`watch_user` SELECT * FROM `ylrz_saas`.`watch_user`;
+
+-- --- wx_contact_* (1 tables) ---
+INSERT INTO `ylrz_saas_tenant`.`wx_contact` SELECT * FROM `ylrz_saas`.`wx_contact`;
+
+-- ============================================================================
+-- 第三阶段: 验证行数一致性 (执行后检查输出,所有 diff 应该为 0)
+-- ============================================================================
+
+SELECT 'row_diff_check' AS phase,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`ad_domain`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`ad_domain`) AS `ad_domain`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`ad_dy_account`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`ad_dy_account`) AS `ad_dy_account`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`ad_dy_api`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`ad_dy_api`) AS `ad_dy_api`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`ad_html_template`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`ad_html_template`) AS `ad_html_template`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`ad_iqiyi_account`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`ad_iqiyi_account`) AS `ad_iqiyi_account`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`ad_site`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`ad_site`) AS `ad_site`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`ad_upload_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`ad_upload_log`) AS `ad_upload_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`ad_youku_account`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`ad_youku_account`) AS `ad_youku_account`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`ai_knowledge_base`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`ai_knowledge_base`) AS `ai_knowledge_base`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`bd_api`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`bd_api`) AS `bd_api`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`bd_creative_statistics`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`bd_creative_statistics`) AS `bd_creative_statistics`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`bd_report_data`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`bd_report_data`) AS `bd_report_data`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`chat_dataset`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`chat_dataset`) AS `chat_dataset`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`chat_dataset_file`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`chat_dataset_file`) AS `chat_dataset_file`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`chat_keyword`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`chat_keyword`) AS `chat_keyword`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`chat_msg`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`chat_msg`) AS `chat_msg`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`chat_msg_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`chat_msg_logs`) AS `chat_msg_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`chat_role`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`chat_role`) AS `chat_role`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`chat_session`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`chat_session`) AS `chat_session`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`chat_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`chat_user`) AS `chat_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`cid_ipad_server`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`cid_ipad_server`) AS `cid_ipad_server`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`cid_ipad_server_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`cid_ipad_server_user`) AS `cid_ipad_server_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_ai_workflow_node_type`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_ai_workflow_node_type`) AS `company_ai_workflow_node_type`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_company_fsuser`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_company_fsuser`) AS `company_company_fsuser`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_deduct`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_deduct`) AS `company_deduct`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_div_config`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_div_config`) AS `company_div_config`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_div_item`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_div_item`) AS `company_div_item`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_logininfor`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_logininfor`) AS `company_logininfor`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_miniapp`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_miniapp`) AS `company_miniapp`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_post`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_post`) AS `company_post`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_profit_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_profit_logs`) AS `company_profit_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_recharge`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_recharge`) AS `company_recharge`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_role_dept`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_role_dept`) AS `company_role_dept`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_role_menu`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_role_menu`) AS `company_role_menu`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_sop_role`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_sop_role`) AS `company_sop_role`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_tag`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_tag`) AS `company_tag`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_tag_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_tag_user`) AS `company_tag_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_tcm_consume`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_tcm_consume`) AS `company_tcm_consume`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_tcm_report`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_tcm_report`) AS `company_tcm_report`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_tcm_schedule`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_tcm_schedule`) AS `company_tcm_schedule`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_user_card`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_user_card`) AS `company_user_card`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_user_change_apply_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_user_change_apply_user`) AS `company_user_change_apply_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_user_delay_time`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_user_delay_time`) AS `company_user_delay_time`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_user_post`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_user_post`) AS `company_user_post`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_user_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_user_user`) AS `company_user_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_voice`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_voice`) AS `company_voice`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_voice_config`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_voice_config`) AS `company_voice_config`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_voice_dialog`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_voice_dialog`) AS `company_voice_dialog`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_voice_mobile`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_voice_mobile`) AS `company_voice_mobile`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_voice_package`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_voice_package`) AS `company_voice_package`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_voice_robotic_call_log_addwx`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_voice_robotic_call_log_addwx`) AS `company_voice_robotic_call_log_addwx`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_voice_robotic_call_log_sendmsg`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_voice_robotic_call_log_sendmsg`) AS `company_voice_robotic_call_log_sendmsg`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_workflow_lobster`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_workflow_lobster`) AS `company_workflow_lobster`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_workflow_lobster_edge`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_workflow_lobster_edge`) AS `company_workflow_lobster_edge`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_workflow_lobster_node`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_workflow_lobster_node`) AS `company_workflow_lobster_node`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_workflow_lobster_record`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_workflow_lobster_record`) AS `company_workflow_lobster_record`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_workflow_lobster_task`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_workflow_lobster_task`) AS `company_workflow_lobster_task`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_workflow_lobster_variable`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_workflow_lobster_variable`) AS `company_workflow_lobster_variable`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_wx_chat`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_wx_chat`) AS `company_wx_chat`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`company_wx_user_group`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`company_wx_user_group`) AS `company_wx_user_group`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`crm_customer_analyze`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`crm_customer_analyze`) AS `crm_customer_analyze`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`crm_customer_assign`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`crm_customer_assign`) AS `crm_customer_assign`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`crm_customer_contacts`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`crm_customer_contacts`) AS `crm_customer_contacts`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`crm_customer_ext`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`crm_customer_ext`) AS `crm_customer_ext`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`crm_customer_his_order`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`crm_customer_his_order`) AS `crm_customer_his_order`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`crm_customer_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`crm_customer_logs`) AS `crm_customer_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`crm_customer_third`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`crm_customer_third`) AS `crm_customer_third`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`crm_customer_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`crm_customer_user`) AS `crm_customer_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`crm_event`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`crm_event`) AS `crm_event`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`crm_msg`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`crm_msg`) AS `crm_msg`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`customer_transfer_approval`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`customer_transfer_approval`) AS `customer_transfer_approval`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_chat_artificial_words`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_chat_artificial_words`) AS `fastgpt_chat_artificial_words`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_chat_keyword`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_chat_keyword`) AS `fastgpt_chat_keyword`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_chat_msg_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_chat_msg_logs`) AS `fastgpt_chat_msg_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_chat_replace_text`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_chat_replace_text`) AS `fastgpt_chat_replace_text`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_chat_replace_words`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_chat_replace_words`) AS `fastgpt_chat_replace_words`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_chat_voice_homo`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_chat_voice_homo`) AS `fastgpt_chat_voice_homo`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_collection`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_collection`) AS `fastgpt_collection`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_collention_data`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_collention_data`) AS `fastgpt_collention_data`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_dataset`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_dataset`) AS `fastgpt_dataset`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_event_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_event_log`) AS `fastgpt_event_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_event_log_total`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_event_log_total`) AS `fastgpt_event_log_total`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_ext_user_tag`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_ext_user_tag`) AS `fastgpt_ext_user_tag`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_keyword`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_keyword`) AS `fastgpt_keyword`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_keyword_artificial`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_keyword_artificial`) AS `fastgpt_keyword_artificial`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_keyword_send`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_keyword_send`) AS `fastgpt_keyword_send`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_push_token_total`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_push_token_total`) AS `fastgpt_push_token_total`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_role_tag`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_role_tag`) AS `fastgpt_role_tag`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_tag`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_tag`) AS `fastgpt_tag`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_tag_group`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_tag_group`) AS `fastgpt_tag_group`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fastgpt_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fastgpt_user`) AS `fastgpt_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_adv_sem`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_adv_sem`) AS `fs_adv_sem`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_ai_workflow_edge`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_ai_workflow_edge`) AS `fs_ai_workflow_edge`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_ai_workflow_node_type`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_ai_workflow_node_type`) AS `fs_ai_workflow_node_type`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_app_contact_way`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_app_contact_way`) AS `fs_app_contact_way`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_app_version`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_app_version`) AS `fs_app_version`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_article`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_article`) AS `fs_article`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_article_cate`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_article_cate`) AS `fs_article_cate`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_article_views`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_article_views`) AS `fs_article_views`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_chinese_medicine`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_chinese_medicine`) AS `fs_chinese_medicine`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_city`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_city`) AS `fs_city`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_complaint_template`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_complaint_template`) AS `fs_complaint_template`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_coupon`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_coupon`) AS `fs_coupon`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_domain_name`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_domain_name`) AS `fs_course_domain_name`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_finish_temp`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_finish_temp`) AS `fs_course_finish_temp`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_finish_temp_parent`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_finish_temp_parent`) AS `fs_course_finish_temp_parent`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_link`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_link`) AS `fs_course_link`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_product`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_product`) AS `fs_course_product`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_product_order`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_product_order`) AS `fs_course_product_order`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_question_bank`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_question_bank`) AS `fs_course_question_bank`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_question_category`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_question_category`) AS `fs_course_question_category`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_sop`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_sop`) AS `fs_course_sop`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_sop_app_link`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_sop_app_link`) AS `fs_course_sop_app_link`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_sop_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_sop_logs`) AS `fs_course_sop_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_course_watch_comment`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_course_watch_comment`) AS `fs_course_watch_comment`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_df_account`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_df_account`) AS `fs_df_account`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_disease`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_disease`) AS `fs_disease`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_ai_chat_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_ai_chat_log`) AS `fs_doctor_ai_chat_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_ai_chat_msg`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_ai_chat_msg`) AS `fs_doctor_ai_chat_msg`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_ai_chat_session`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_ai_chat_session`) AS `fs_doctor_ai_chat_session`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_article`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_article`) AS `fs_doctor_article`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_article_cate`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_article_cate`) AS `fs_doctor_article_cate`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_bill`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_bill`) AS `fs_doctor_bill`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_confirm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_confirm`) AS `fs_doctor_confirm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_extract`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_extract`) AS `fs_doctor_extract`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_oper_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_oper_log`) AS `fs_doctor_oper_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_prescribe`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_prescribe`) AS `fs_doctor_prescribe`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_prescribe_drug`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_prescribe_drug`) AS `fs_doctor_prescribe_drug`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_price`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_price`) AS `fs_doctor_price`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_product`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_product`) AS `fs_doctor_product`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_doctor_words`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_doctor_words`) AS `fs_doctor_words`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_drug_report`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_drug_report`) AS `fs_drug_report`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_drug_report_count`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_drug_report_count`) AS `fs_drug_report_count`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_express`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_express`) AS `fs_express`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_famous_prescribe`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_famous_prescribe`) AS `fs_famous_prescribe`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_finish_course_statistics_sync`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_finish_course_statistics_sync`) AS `fs_finish_course_statistics_sync`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_first_diagnosis`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_first_diagnosis`) AS `fs_first_diagnosis`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_follow`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_follow`) AS `fs_follow`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_follow_report`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_follow_report`) AS `fs_follow_report`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_follow_temp`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_follow_temp`) AS `fs_follow_temp`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_health_data`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_health_data`) AS `fs_health_data`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_health_history_temp`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_health_history_temp`) AS `fs_health_history_temp`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_health_life`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_health_life`) AS `fs_health_life`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_health_record`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_health_record`) AS `fs_health_record`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_health_tongue`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_health_tongue`) AS `fs_health_tongue`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_hfpay_config`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_hfpay_config`) AS `fs_hfpay_config`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_icd`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_icd`) AS `fs_icd`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_illness_library`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_illness_library`) AS `fs_illness_library`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_im_msg_send_detail`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_im_msg_send_detail`) AS `fs_im_msg_send_detail`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_im_msg_send_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_im_msg_send_log`) AS `fs_im_msg_send_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_inquiry_disease`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_inquiry_disease`) AS `fs_inquiry_disease`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_inquiry_order_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_inquiry_order_logs`) AS `fs_inquiry_order_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_inquiry_order_media`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_inquiry_order_media`) AS `fs_inquiry_order_media`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_inquiry_order_msg`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_inquiry_order_msg`) AS `fs_inquiry_order_msg`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_inquiry_order_ping`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_inquiry_order_ping`) AS `fs_inquiry_order_ping`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_inquiry_patient_info`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_inquiry_patient_info`) AS `fs_inquiry_patient_info`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_inquiry_temp`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_inquiry_temp`) AS `fs_inquiry_temp`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_integral_cart`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_integral_cart`) AS `fs_integral_cart`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_integral_order`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_integral_order`) AS `fs_integral_order`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_integral_order_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_integral_order_logs`) AS `fs_integral_order_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_interest_ai_msg`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_interest_ai_msg`) AS `fs_interest_ai_msg`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_interest_ai_role`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_interest_ai_role`) AS `fs_interest_ai_role`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_interest_ai_role_words`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_interest_ai_role_words`) AS `fs_interest_ai_role_words`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_interest_ai_session`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_interest_ai_session`) AS `fs_interest_ai_session`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_material`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_material`) AS `fs_material`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_material_group`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_material_group`) AS `fs_material_group`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_medicated_food`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_medicated_food`) AS `fs_medicated_food`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_mess_temp`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_mess_temp`) AS `fs_mess_temp`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_package_cate`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_package_cate`) AS `fs_package_cate`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_package_favorite`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_package_favorite`) AS `fs_package_favorite`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_package_solar_term`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_package_solar_term`) AS `fs_package_solar_term`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_physical_report_template`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_physical_report_template`) AS `fs_physical_report_template`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_physical_report_template_field`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_physical_report_template_field`) AS `fs_physical_report_template_field`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_prescribe`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_prescribe`) AS `fs_prescribe`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_promotional_active`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_promotional_active`) AS `fs_promotional_active`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_promotional_active_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_promotional_active_log`) AS `fs_promotional_active_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_question_and_answer`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_question_and_answer`) AS `fs_question_and_answer`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_questions`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_questions`) AS `fs_questions`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_statis_qw_temp_param`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_statis_qw_temp_param`) AS `fs_statis_qw_temp_param`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_statis_qw_watch`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_statis_qw_watch`) AS `fs_statis_qw_watch`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_statis_saler_watch`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_statis_saler_watch`) AS `fs_statis_saler_watch`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_statis_temp_fsuser`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_statis_temp_fsuser`) AS `fs_statis_temp_fsuser`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_statis_temp_param`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_statis_temp_param`) AS `fs_statis_temp_param`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_statistics`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_statistics`) AS `fs_statistics`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store`) AS `fs_store`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_activity`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_activity`) AS `fs_store_activity`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_activity_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_activity_scrm`) AS `fs_store_activity_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_after_sales`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_after_sales`) AS `fs_store_after_sales`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_after_sales_item`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_after_sales_item`) AS `fs_store_after_sales_item`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_after_sales_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_after_sales_logs`) AS `fs_store_after_sales_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_after_sales_logs_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_after_sales_logs_scrm`) AS `fs_store_after_sales_logs_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_bill`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_bill`) AS `fs_store_bill`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_bill_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_bill_scrm`) AS `fs_store_bill_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_canvas_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_canvas_scrm`) AS `fs_store_canvas_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_cart_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_cart_scrm`) AS `fs_store_cart_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_coupon_issue_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_coupon_issue_scrm`) AS `fs_store_coupon_issue_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_coupon_issue_user_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_coupon_issue_user_scrm`) AS `fs_store_coupon_issue_user_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_coupon_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_coupon_scrm`) AS `fs_store_coupon_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_coupon_user_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_coupon_user_scrm`) AS `fs_store_coupon_user_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_extract`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_extract`) AS `fs_store_extract`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_order_audit_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_order_audit_scrm`) AS `fs_store_order_audit_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_order_bill_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_order_bill_log`) AS `fs_store_order_bill_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_order_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_order_logs`) AS `fs_store_order_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_order_logs_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_order_logs_scrm`) AS `fs_store_order_logs_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_order_notice_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_order_notice_scrm`) AS `fs_store_order_notice_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_payment_error`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_payment_error`) AS `fs_store_payment_error`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product`) AS `fs_store_product`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_attr`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_attr`) AS `fs_store_product_attr`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_attr_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_attr_scrm`) AS `fs_store_product_attr_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_attr_value`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_attr_value`) AS `fs_store_product_attr_value`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_category`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_category`) AS `fs_store_product_category`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_details_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_details_scrm`) AS `fs_store_product_details_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_group`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_group`) AS `fs_store_product_group`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_group_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_group_scrm`) AS `fs_store_product_group_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_package`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_package`) AS `fs_store_product_package`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_purchase_limit_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_purchase_limit_scrm`) AS `fs_store_product_purchase_limit_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_relation_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_relation_scrm`) AS `fs_store_product_relation_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_reply_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_reply_scrm`) AS `fs_store_product_reply_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_rule_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_rule_scrm`) AS `fs_store_product_rule_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_product_template_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_product_template_scrm`) AS `fs_store_product_template_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_recommend_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_recommend_scrm`) AS `fs_store_recommend_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_shop_staff_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_shop_staff_scrm`) AS `fs_store_shop_staff_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_sub_order`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_sub_order`) AS `fs_store_sub_order`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_store_visit_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_store_visit_scrm`) AS `fs_store_visit_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_test_report`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_test_report`) AS `fs_test_report`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_test_temp`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_test_temp`) AS `fs_test_temp`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_test_temp_item`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_test_temp_item`) AS `fs_test_temp_item`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_tongue_info`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_tongue_info`) AS `fs_tongue_info`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_address`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_address`) AS `fs_user_address`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_bill`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_bill`) AS `fs_user_bill`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_company_bind`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_company_bind`) AS `fs_user_company_bind`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_company_package_scrm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_company_package_scrm`) AS `fs_user_company_package_scrm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_company_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_company_user`) AS `fs_user_company_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_company_user_qw`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_company_user_qw`) AS `fs_user_company_user_qw`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_complaint`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_complaint`) AS `fs_user_complaint`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_complaint_msg`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_complaint_msg`) AS `fs_user_complaint_msg`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_comment`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_comment`) AS `fs_user_course_comment`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_comment_like`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_comment_like`) AS `fs_user_course_comment_like`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_company_statistics`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_company_statistics`) AS `fs_user_course_company_statistics`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_complaint_record`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_complaint_record`) AS `fs_user_course_complaint_record`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_complaint_type`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_complaint_type`) AS `fs_user_course_complaint_type`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_count`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_count`) AS `fs_user_course_count`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_favorite`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_favorite`) AS `fs_user_course_favorite`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_follow`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_follow`) AS `fs_user_course_follow`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_like`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_like`) AS `fs_user_course_like`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_note`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_note`) AS `fs_user_course_note`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_note_like`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_note_like`) AS `fs_user_course_note_like`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_note_save`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_note_save`) AS `fs_user_course_note_save`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_order`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_order`) AS `fs_user_course_order`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_study`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_study`) AS `fs_user_course_study`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_study_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_study_log`) AS `fs_user_course_study_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_course_video_red_package`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_course_video_red_package`) AS `fs_user_course_video_red_package`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_doctor`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_doctor`) AS `fs_user_doctor`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_extract`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_extract`) AS `fs_user_extract`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_information_collection_schedule`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_information_collection_schedule`) AS `fs_user_information_collection_schedule`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_integral_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_integral_logs`) AS `fs_user_integral_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_invited`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_invited`) AS `fs_user_invited`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_login_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_login_log`) AS `fs_user_login_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_new_task`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_new_task`) AS `fs_user_new_task`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_online_state`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_online_state`) AS `fs_user_online_state`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_operation_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_operation_log`) AS `fs_user_operation_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_project_tag`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_project_tag`) AS `fs_user_project_tag`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_recharge`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_recharge`) AS `fs_user_recharge`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_sign`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_sign`) AS `fs_user_sign`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_talent`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_talent`) AS `fs_user_talent`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_talent_follow`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_talent_follow`) AS `fs_user_talent_follow`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_video`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_video`) AS `fs_user_video`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_video_comment`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_video_comment`) AS `fs_user_video_comment`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_video_comment_like`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_video_comment_like`) AS `fs_user_video_comment_like`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_video_favorite`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_video_favorite`) AS `fs_user_video_favorite`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_video_like`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_video_like`) AS `fs_user_video_like`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_video_tags`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_video_tags`) AS `fs_user_video_tags`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_video_view`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_video_view`) AS `fs_user_video_view`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_vip_order`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_vip_order`) AS `fs_user_vip_order`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_vip_package`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_vip_package`) AS `fs_user_vip_package`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_watch`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_watch`) AS `fs_user_watch`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_watch_course_statistics`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_watch_course_statistics`) AS `fs_user_watch_course_statistics`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_watch_statistics`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_watch_statistics`) AS `fs_user_watch_statistics`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_user_wx`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_user_wx`) AS `fs_user_wx`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_vessel`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_vessel`) AS `fs_vessel`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_video_barrage`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_video_barrage`) AS `fs_video_barrage`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_video_course_tag`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_video_course_tag`) AS `fs_video_course_tag`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_video_resource`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_video_resource`) AS `fs_video_resource`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`fs_wechat_template`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`fs_wechat_template`) AS `fs_wechat_template`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`hy_watch_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`hy_watch_log`) AS `hy_watch_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`hy_work_task`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`hy_work_task`) AS `hy_work_task`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`ipad_allocation_records`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`ipad_allocation_records`) AS `ipad_allocation_records`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_after_sales`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_after_sales`) AS `live_after_sales`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_after_sales_item`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_after_sales_item`) AS `live_after_sales_item`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_after_sales_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_after_sales_logs`) AS `live_after_sales_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_anchor`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_anchor`) AS `live_anchor`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_auto_task`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_auto_task`) AS `live_auto_task`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_cart`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_cart`) AS `live_cart`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_completion_points_record`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_completion_points_record`) AS `live_completion_points_record`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_coupon`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_coupon`) AS `live_coupon`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_coupon_issue`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_coupon_issue`) AS `live_coupon_issue`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_coupon_issue_relation`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_coupon_issue_relation`) AS `live_coupon_issue_relation`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_coupon_issue_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_coupon_issue_user`) AS `live_coupon_issue_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_coupon_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_coupon_user`) AS `live_coupon_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_data`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_data`) AS `live_data`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_event_conf`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_event_conf`) AS `live_event_conf`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_gift`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_gift`) AS `live_gift`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_goods`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_goods`) AS `live_goods`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_lottery_conf`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_lottery_conf`) AS `live_lottery_conf`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_lottery_product_conf`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_lottery_product_conf`) AS `live_lottery_product_conf`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_lottery_registration`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_lottery_registration`) AS `live_lottery_registration`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_msg`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_msg`) AS `live_msg`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_order_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_order_logs`) AS `live_order_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_order_payment_error`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_order_payment_error`) AS `live_order_payment_error`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_red_conf`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_red_conf`) AS `live_red_conf`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_reward_record`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_reward_record`) AS `live_reward_record`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_sensitive_words`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_sensitive_words`) AS `live_sensitive_words`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_tag_config`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_tag_config`) AS `live_tag_config`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_traffic_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_traffic_log`) AS `live_traffic_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_user_favorite`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_user_favorite`) AS `live_user_favorite`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_user_first_entry`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_user_first_entry`) AS `live_user_first_entry`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_user_follow`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_user_follow`) AS `live_user_follow`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_user_like`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_user_like`) AS `live_user_like`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_user_lottery_record`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_user_lottery_record`) AS `live_user_lottery_record`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_user_red_record`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_user_red_record`) AS `live_user_red_record`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_watch_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_watch_log`) AS `live_watch_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`live_watch_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`live_watch_user`) AS `live_watch_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`lobster_compliance_rule`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`lobster_compliance_rule`) AS `lobster_compliance_rule`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`lobster_conversation_summary`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`lobster_conversation_summary`) AS `lobster_conversation_summary`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`lobster_node_execution_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`lobster_node_execution_log`) AS `lobster_node_execution_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`lobster_workflow_instance`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`lobster_workflow_instance`) AS `lobster_workflow_instance`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`lucky_bag`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`lucky_bag`) AS `lucky_bag`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`lucky_bag_collect_record`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`lucky_bag_collect_record`) AS `lucky_bag_collect_record`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_app_contact_way`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_app_contact_way`) AS `qw_app_contact_way`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_app_contact_way_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_app_contact_way_logs`) AS `qw_app_contact_way_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_auto_tags`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_auto_tags`) AS `qw_auto_tags`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_auto_tags_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_auto_tags_logs`) AS `qw_auto_tags_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_auto_tags_rules`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_auto_tags_rules`) AS `qw_auto_tags_rules`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_contact_batch`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_contact_batch`) AS `qw_contact_batch`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_contact_way`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_contact_way`) AS `qw_contact_way`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_contact_way_group`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_contact_way_group`) AS `qw_contact_way_group`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_contact_way_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_contact_way_logs`) AS `qw_contact_way_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_contact_way_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_contact_way_user`) AS `qw_contact_way_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_course_finish_remark_rty`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_course_finish_remark_rty`) AS `qw_course_finish_remark_rty`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_customer_property`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_customer_property`) AS `qw_customer_property`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_drainage_link`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_drainage_link`) AS `qw_drainage_link`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_drainage_link_logs`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_drainage_link_logs`) AS `qw_drainage_link_logs`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_external_ai_analyze`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_external_ai_analyze`) AS `qw_external_ai_analyze`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_external_contact_black_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_external_contact_black_log`) AS `qw_external_contact_black_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_external_contact_crm`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_external_contact_crm`) AS `qw_external_contact_crm`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_external_contact_transfer_company_audit`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_external_contact_transfer_company_audit`) AS `qw_external_contact_transfer_company_audit`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_external_contact_transfer_company_audit_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_external_contact_transfer_company_audit_user`) AS `qw_external_contact_transfer_company_audit_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_external_contact_transfer_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_external_contact_transfer_log`) AS `qw_external_contact_transfer_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_external_err_retry`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_external_err_retry`) AS `qw_external_err_retry`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_friend_circle`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_friend_circle`) AS `qw_friend_circle`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_friend_circle_task`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_friend_circle_task`) AS `qw_friend_circle_task`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_friend_comments`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_friend_comments`) AS `qw_friend_comments`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_friend_customer_list`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_friend_customer_list`) AS `qw_friend_customer_list`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_friend_welcome`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_friend_welcome`) AS `qw_friend_welcome`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_friend_welcome_item`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_friend_welcome_item`) AS `qw_friend_welcome_item`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_group_chat`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_group_chat`) AS `qw_group_chat`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_group_chat_transfer_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_group_chat_transfer_log`) AS `qw_group_chat_transfer_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_group_msg`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_group_msg`) AS `qw_group_msg`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_group_msg_item`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_group_msg_item`) AS `qw_group_msg_item`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_group_msg_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_group_msg_user`) AS `qw_group_msg_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_groupchat_statistic`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_groupchat_statistic`) AS `qw_groupchat_statistic`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_information`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_information`) AS `qw_information`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_ipad_server`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_ipad_server`) AS `qw_ipad_server`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_ipad_server_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_ipad_server_log`) AS `qw_ipad_server_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_ipad_server_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_ipad_server_user`) AS `qw_ipad_server_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_material`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_material`) AS `qw_material`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_material_group`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_material_group`) AS `qw_material_group`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_messages`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_messages`) AS `qw_messages`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_msg`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_msg`) AS `qw_msg`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_push_count`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_push_count`) AS `qw_push_count`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_session`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_session`) AS `qw_session`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_sop_logs_detalis`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_sop_logs_detalis`) AS `qw_sop_logs_detalis`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_tag_group`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_tag_group`) AS `qw_tag_group`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_user_complain_record`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_user_complain_record`) AS `qw_user_complain_record`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_user_video`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_user_video`) AS `qw_user_video`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_user_voice_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_user_voice_log`) AS `qw_user_voice_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_userbehavior_data`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_userbehavior_data`) AS `qw_userbehavior_data`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_welcome`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_welcome`) AS `qw_welcome`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_work_link`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_work_link`) AS `qw_work_link`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_work_link_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_work_link_user`) AS `qw_work_link_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`qw_work_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`qw_work_user`) AS `qw_work_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`tulin_info_sync_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`tulin_info_sync_log`) AS `tulin_info_sync_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`uni_push_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`uni_push_log`) AS `uni_push_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_beginner_guide`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_beginner_guide`) AS `watch_beginner_guide`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_device_account`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_device_account`) AS `watch_device_account`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_device_day`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_device_day`) AS `watch_device_day`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_device_info`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_device_info`) AS `watch_device_info`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_device_setup`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_device_setup`) AS `watch_device_setup`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_family_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_family_user`) AS `watch_family_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_materials`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_materials`) AS `watch_materials`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_materials_type`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_materials_type`) AS `watch_materials_type`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_medication_task`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_medication_task`) AS `watch_medication_task`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_monitor_data_type`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_monitor_data_type`) AS `watch_monitor_data_type`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_msg_set`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_msg_set`) AS `watch_msg_set`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_send_msg_log`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_send_msg_log`) AS `watch_send_msg_log`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_send_msg_set`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_send_msg_set`) AS `watch_send_msg_set`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`watch_user`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`watch_user`) AS `watch_user`,
+  (SELECT COUNT(*) FROM `ylrz_saas`.`wx_contact`) - (SELECT COUNT(*) FROM `ylrz_saas_tenant`.`wx_contact`) AS `wx_contact`
+;
+
+-- ============================================================================
+-- 第四阶段: DROP 源表 (确认数据一致后执行)
+-- ============================================================================
+
+-- 警告: 执行前请确认第三阶段验证全部通过!
+
+-- --- ad_domain_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_domain`;
+
+-- --- ad_dy_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_dy_account`;
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_dy_api`;
+
+-- --- ad_html_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_html_template`;
+
+-- --- ad_iqiyi_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_iqiyi_account`;
+
+-- --- ad_site_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_site`;
+
+-- --- ad_upload_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_upload_log`;
+
+-- --- ad_youku_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ad_youku_account`;
+
+-- --- ai_knowledge_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ai_knowledge_base`;
+
+-- --- bd_api_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`bd_api`;
+
+-- --- bd_creative_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`bd_creative_statistics`;
+
+-- --- bd_report_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`bd_report_data`;
+
+-- --- chat_dataset_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_dataset`;
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_dataset_file`;
+
+-- --- chat_keyword_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_keyword`;
+
+-- --- chat_msg_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_msg_logs`;
+
+-- --- chat_role_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_role`;
+
+-- --- chat_session_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_session`;
+
+-- --- chat_user_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`chat_user`;
+
+-- --- cid_ipad_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`cid_ipad_server`;
+DROP TABLE IF EXISTS `ylrz_saas`.`cid_ipad_server_user`;
+
+-- --- company_ai_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_ai_workflow_node_type`;
+
+-- --- company_company_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_company_fsuser`;
+
+-- --- company_deduct_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_deduct`;
+
+-- --- company_div_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_div_config`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_div_item`;
+
+-- --- company_logininfor_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_logininfor`;
+
+-- --- company_miniapp_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_miniapp`;
+
+-- --- company_post_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_post`;
+
+-- --- company_profit_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_profit_logs`;
+
+-- --- company_recharge_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_recharge`;
+
+-- --- company_role_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_role_dept`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_role_menu`;
+
+-- --- company_sop_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_sop_role`;
+
+-- --- company_tag_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_tag`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_tag_user`;
+
+-- --- company_tcm_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_tcm_consume`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_tcm_report`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_tcm_schedule`;
+
+-- --- company_user_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_user_card`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_user_change_apply_user`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_user_delay_time`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_user_post`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_user_user`;
+
+-- --- company_voice_* (7 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_config`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_dialog`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_mobile`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_package`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_robotic_call_log_addwx`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_voice_robotic_call_log_sendmsg`;
+
+-- --- company_workflow_* (6 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_workflow_lobster`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_workflow_lobster_edge`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_workflow_lobster_node`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_workflow_lobster_record`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_workflow_lobster_task`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_workflow_lobster_variable`;
+
+-- --- company_wx_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`company_wx_chat`;
+DROP TABLE IF EXISTS `ylrz_saas`.`company_wx_user_group`;
+
+-- --- crm_customer_* (8 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_analyze`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_assign`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_contacts`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_ext`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_his_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_third`;
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_customer_user`;
+
+-- --- crm_event_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_event`;
+
+-- --- crm_msg_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`crm_msg`;
+
+-- --- customer_transfer_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`customer_transfer_approval`;
+
+-- --- fastgpt_chat_* (6 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_artificial_words`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_keyword`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_msg_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_replace_text`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_replace_words`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_chat_voice_homo`;
+
+-- --- fastgpt_collection_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_collection`;
+
+-- --- fastgpt_collention_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_collention_data`;
+
+-- --- fastgpt_dataset_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_dataset`;
+
+-- --- fastgpt_event_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_event_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_event_log_total`;
+
+-- --- fastgpt_ext_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_ext_user_tag`;
+
+-- --- fastgpt_keyword_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_keyword`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_keyword_artificial`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_keyword_send`;
+
+-- --- fastgpt_push_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_push_token_total`;
+
+-- --- fastgpt_role_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_role_tag`;
+
+-- --- fastgpt_tag_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_tag`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_tag_group`;
+
+-- --- fastgpt_user_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fastgpt_user`;
+
+-- --- fs_adv_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_adv_sem`;
+
+-- --- fs_ai_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_ai_workflow_edge`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_ai_workflow_node_type`;
+
+-- --- fs_app_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_app_contact_way`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_app_version`;
+
+-- --- fs_article_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_article`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_article_cate`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_article_views`;
+
+-- --- fs_chinese_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_chinese_medicine`;
+
+-- --- fs_city_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_city`;
+
+-- --- fs_complaint_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_complaint_template`;
+
+-- --- fs_coupon_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_coupon`;
+
+-- --- fs_course_* (12 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_domain_name`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_finish_temp`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_finish_temp_parent`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_link`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_product`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_product_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_question_bank`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_question_category`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_sop`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_sop_app_link`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_sop_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_course_watch_comment`;
+
+-- --- fs_df_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_df_account`;
+
+-- --- fs_disease_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_disease`;
+
+-- --- fs_doctor_* (14 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_ai_chat_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_ai_chat_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_ai_chat_session`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_article`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_article_cate`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_bill`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_confirm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_extract`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_oper_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_prescribe`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_prescribe_drug`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_price`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_product`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_doctor_words`;
+
+-- --- fs_drug_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_drug_report`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_drug_report_count`;
+
+-- --- fs_express_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_express`;
+
+-- --- fs_famous_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_famous_prescribe`;
+
+-- --- fs_finish_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_finish_course_statistics_sync`;
+
+-- --- fs_first_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_first_diagnosis`;
+
+-- --- fs_follow_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_follow`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_follow_report`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_follow_temp`;
+
+-- --- fs_health_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_health_data`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_health_history_temp`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_health_life`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_health_record`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_health_tongue`;
+
+-- --- fs_hfpay_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_hfpay_config`;
+
+-- --- fs_icd_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_icd`;
+
+-- --- fs_illness_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_illness_library`;
+
+-- --- fs_im_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_im_msg_send_detail`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_im_msg_send_log`;
+
+-- --- fs_inquiry_* (7 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_disease`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_order_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_order_media`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_order_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_order_ping`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_patient_info`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_inquiry_temp`;
+
+-- --- fs_integral_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_integral_cart`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_integral_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_integral_order_logs`;
+
+-- --- fs_interest_* (4 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_interest_ai_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_interest_ai_role`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_interest_ai_role_words`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_interest_ai_session`;
+
+-- --- fs_material_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_material`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_material_group`;
+
+-- --- fs_medicated_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_medicated_food`;
+
+-- --- fs_mess_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_mess_temp`;
+
+-- --- fs_package_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_package_cate`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_package_favorite`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_package_solar_term`;
+
+-- --- fs_physical_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_physical_report_template`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_physical_report_template_field`;
+
+-- --- fs_prescribe_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_prescribe`;
+
+-- --- fs_promotional_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_promotional_active`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_promotional_active_log`;
+
+-- --- fs_question_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_question_and_answer`;
+
+-- --- fs_questions_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_questions`;
+
+-- --- fs_statis_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statis_qw_temp_param`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statis_qw_watch`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statis_saler_watch`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statis_temp_fsuser`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statis_temp_param`;
+
+-- --- fs_statistics_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_statistics`;
+
+-- --- fs_store_* (40 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_activity`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_activity_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_after_sales`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_after_sales_item`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_after_sales_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_after_sales_logs_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_bill`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_bill_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_canvas_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_cart_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_coupon_issue_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_coupon_issue_user_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_coupon_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_coupon_user_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_extract`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_order_audit_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_order_bill_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_order_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_order_logs_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_order_notice_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_payment_error`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_attr`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_attr_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_attr_value`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_category`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_details_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_group`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_group_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_package`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_purchase_limit_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_relation_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_reply_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_rule_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_product_template_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_recommend_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_shop_staff_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_sub_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_store_visit_scrm`;
+
+-- --- fs_test_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_test_report`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_test_temp`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_test_temp_item`;
+
+-- --- fs_tongue_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_tongue_info`;
+
+-- --- fs_user_* (51 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_address`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_bill`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_company_bind`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_company_package_scrm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_company_user`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_company_user_qw`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_complaint`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_complaint_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_comment`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_comment_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_company_statistics`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_complaint_record`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_complaint_type`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_count`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_favorite`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_follow`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_note`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_note_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_note_save`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_study`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_study_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_course_video_red_package`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_doctor`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_extract`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_information_collection_schedule`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_integral_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_invited`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_login_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_new_task`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_online_state`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_operation_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_project_tag`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_recharge`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_sign`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_talent`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_talent_follow`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_comment`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_comment_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_favorite`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_tags`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_video_view`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_vip_order`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_vip_package`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_watch`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_watch_course_statistics`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_watch_statistics`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_user_wx`;
+
+-- --- fs_vessel_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_vessel`;
+
+-- --- fs_video_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_video_barrage`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_video_course_tag`;
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_video_resource`;
+
+-- --- fs_wechat_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`fs_wechat_template`;
+
+-- --- hy_watch_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`hy_watch_log`;
+
+-- --- hy_work_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`hy_work_task`;
+
+-- --- ipad_allocation_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`ipad_allocation_records`;
+
+-- --- live_after_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_after_sales`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_after_sales_item`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_after_sales_logs`;
+
+-- --- live_anchor_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_anchor`;
+
+-- --- live_auto_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_auto_task`;
+
+-- --- live_cart_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_cart`;
+
+-- --- live_completion_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_completion_points_record`;
+
+-- --- live_coupon_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_coupon`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_coupon_issue`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_coupon_issue_relation`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_coupon_issue_user`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_coupon_user`;
+
+-- --- live_data_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_data`;
+
+-- --- live_event_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_event_conf`;
+
+-- --- live_gift_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_gift`;
+
+-- --- live_goods_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_goods`;
+
+-- --- live_lottery_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_lottery_conf`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_lottery_product_conf`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_lottery_registration`;
+
+-- --- live_msg_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_msg`;
+
+-- --- live_order_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_order_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_order_payment_error`;
+
+-- --- live_red_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_red_conf`;
+
+-- --- live_reward_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_reward_record`;
+
+-- --- live_sensitive_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_sensitive_words`;
+
+-- --- live_tag_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_tag_config`;
+
+-- --- live_traffic_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_traffic_log`;
+
+-- --- live_user_* (6 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_favorite`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_first_entry`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_follow`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_like`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_lottery_record`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_user_red_record`;
+
+-- --- live_watch_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`live_watch_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`live_watch_user`;
+
+-- --- lobster_compliance_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`lobster_compliance_rule`;
+
+-- --- lobster_conversation_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`lobster_conversation_summary`;
+
+-- --- lobster_node_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`lobster_node_execution_log`;
+
+-- --- lobster_workflow_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`lobster_workflow_instance`;
+
+-- --- lucky_bag_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`lucky_bag`;
+DROP TABLE IF EXISTS `ylrz_saas`.`lucky_bag_collect_record`;
+
+-- --- qw_app_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_app_contact_way`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_app_contact_way_logs`;
+
+-- --- qw_auto_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_auto_tags`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_auto_tags_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_auto_tags_rules`;
+
+-- --- qw_contact_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_contact_batch`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_contact_way`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_contact_way_group`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_contact_way_logs`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_contact_way_user`;
+
+-- --- qw_course_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_course_finish_remark_rty`;
+
+-- --- qw_customer_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_customer_property`;
+
+-- --- qw_drainage_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_drainage_link`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_drainage_link_logs`;
+
+-- --- qw_external_* (7 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_ai_analyze`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_contact_black_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_contact_crm`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_contact_transfer_company_audit`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_contact_transfer_company_audit_user`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_contact_transfer_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_external_err_retry`;
+
+-- --- qw_friend_* (6 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_circle`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_circle_task`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_comments`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_customer_list`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_welcome`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_friend_welcome_item`;
+
+-- --- qw_group_* (5 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_group_chat`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_group_chat_transfer_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_group_msg`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_group_msg_item`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_group_msg_user`;
+
+-- --- qw_groupchat_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_groupchat_statistic`;
+
+-- --- qw_information_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_information`;
+
+-- --- qw_ipad_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_ipad_server`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_ipad_server_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_ipad_server_user`;
+
+-- --- qw_material_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_material`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_material_group`;
+
+-- --- qw_messages_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_messages`;
+
+-- --- qw_msg_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_msg`;
+
+-- --- qw_push_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_push_count`;
+
+-- --- qw_session_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_session`;
+
+-- --- qw_sop_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_sop_logs_detalis`;
+
+-- --- qw_tag_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_tag_group`;
+
+-- --- qw_user_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_user_complain_record`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_user_video`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_user_voice_log`;
+
+-- --- qw_userbehavior_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_userbehavior_data`;
+
+-- --- qw_welcome_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_welcome`;
+
+-- --- qw_work_* (3 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_work_link`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_work_link_user`;
+DROP TABLE IF EXISTS `ylrz_saas`.`qw_work_user`;
+
+-- --- tulin_info_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`tulin_info_sync_log`;
+
+-- --- uni_push_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`uni_push_log`;
+
+-- --- watch_beginner_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_beginner_guide`;
+
+-- --- watch_device_* (4 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_device_account`;
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_device_day`;
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_device_info`;
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_device_setup`;
+
+-- --- watch_family_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_family_user`;
+
+-- --- watch_materials_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_materials`;
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_materials_type`;
+
+-- --- watch_medication_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_medication_task`;
+
+-- --- watch_monitor_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_monitor_data_type`;
+
+-- --- watch_msg_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_msg_set`;
+
+-- --- watch_send_* (2 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_send_msg_log`;
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_send_msg_set`;
+
+-- --- watch_user_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`watch_user`;
+
+-- --- wx_contact_* (1 tables) ---
+DROP TABLE IF EXISTS `ylrz_saas`.`wx_contact`;
+
+-- ============================================================================
+-- 迁移完成统计
+-- ============================================================================
+-- SELECT COUNT(*) AS remaining FROM information_schema.tables WHERE table_schema='ylrz_saas' AND table_type='BASE TABLE';
+-- Expected: 194