diff --git a/backend/database/migrations/002_merge_old_data.sql b/backend/database/migrations/002_merge_old_data.sql deleted file mode 100644 index 9989efe..0000000 --- a/backend/database/migrations/002_merge_old_data.sql +++ /dev/null @@ -1,134 +0,0 @@ --- 合并旧项目数据到新项目 --- 执行前请确保已备份数据库 - --- 1. 更新 companies 表,添加飞书相关字段 -ALTER TABLE `companies` -ADD COLUMN `abbr` varchar(50) NOT NULL DEFAULT '' COMMENT '公司缩写' AFTER `name`, -ADD COLUMN `tenant_key` varchar(36) NOT NULL DEFAULT '' COMMENT '飞书企业标识' AFTER `abbr`, -ADD COLUMN `sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序' AFTER `tenant_key`, -ADD COLUMN `feishu_enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否启用飞书'; - --- 2. 更新 users 表,添加飞书相关字段 -ALTER TABLE `users` -ADD COLUMN `sn` varchar(36) NOT NULL DEFAULT '' COMMENT '用户编号' AFTER `id`, -ADD COLUMN `report_to` bigint(20) UNSIGNED NULL DEFAULT 0 COMMENT '上级用户ID' AFTER `sn`, -ADD COLUMN `avatar` varchar(255) NULL DEFAULT NULL COMMENT '头像' AFTER `phone`, -ADD COLUMN `sex` tinyint(2) NULL DEFAULT NULL COMMENT '性别:1:男,2:女' AFTER `avatar`, -ADD COLUMN `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态' AFTER `sex`, -ADD COLUMN `user_type` tinyint(2) NOT NULL DEFAULT 1 COMMENT '用户类型 1内部2外部' AFTER `status`, -ADD COLUMN `union_id` varchar(60) NULL DEFAULT NULL COMMENT 'ISV的唯一标识' AFTER `user_type`, -ADD COLUMN `feishu_user_id` varchar(60) NULL DEFAULT NULL COMMENT '飞书user_id' AFTER `union_id`, -ADD COLUMN `feishu_open_id` varchar(60) NULL DEFAULT NULL COMMENT '飞书open_id' AFTER `feishu_user_id`, -ADD COLUMN `tenant_key` varchar(60) NULL DEFAULT NULL COMMENT '当前企业标识' AFTER `feishu_open_id`, -ADD COLUMN `position` varchar(128) NULL DEFAULT NULL COMMENT '职位' AFTER `tenant_key`, -ADD COLUMN `sign_img` varchar(255) NULL DEFAULT NULL COMMENT '签名图片' AFTER `position`; - --- 3. 创建公司飞书应用配置表 -CREATE TABLE IF NOT EXISTS `company_feishu_apps` ( - `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'ID', - `company_id` int(11) NOT NULL DEFAULT 0 COMMENT '公司ID', - `system_id` int(11) NOT NULL DEFAULT 0 COMMENT '系统ID:1=X-Server, 2=工单, 3=CRM_PC', - `name` varchar(90) NOT NULL DEFAULT '' COMMENT '应用名称', - `tenant_key` varchar(36) NOT NULL DEFAULT '' COMMENT '企业标识', - `app_id` varchar(60) NOT NULL DEFAULT '' COMMENT '飞书应用ID', - `app_secret` varchar(150) NOT NULL DEFAULT '' COMMENT '飞书应用密钥', - `encrypt_key` varchar(60) NULL DEFAULT NULL COMMENT '事件加密密钥', - `verification_token` varchar(60) NULL DEFAULT NULL COMMENT '事件验证令牌', - `base_uri` varchar(255) NOT NULL DEFAULT 'https://open.feishu.cn/open-apis/' COMMENT '飞书API基础地址', - `callback_url` varchar(255) NULL DEFAULT NULL COMMENT 'PC端回调地址', - `mobile_callback_url` varchar(255) NULL DEFAULT NULL COMMENT '移动端回调地址', - `scopes` text NULL COMMENT '授权范围', - `state` varchar(255) NULL DEFAULT NULL COMMENT '携带参数', - `sort` int(11) NOT NULL DEFAULT 0 COMMENT '排序', - `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态:1启用,0禁用', - `created_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间', - `updated_at` int(11) NOT NULL DEFAULT 0 COMMENT '更新时间', - PRIMARY KEY (`id`) USING BTREE, - KEY `idx_company_id` (`company_id`) USING BTREE, - KEY `idx_system_id` (`system_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='公司飞书应用配置'; - --- 4. 创建用户编号池表 -CREATE TABLE IF NOT EXISTS `user_sn_pool` ( - `sn` int(11) UNSIGNED NOT NULL DEFAULT 0 COMMENT '用户编号', - `user_id` bigint(20) UNSIGNED NULL DEFAULT NULL COMMENT '分配的用户ID', - `status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态:0未分配,1已分配', - `created_at` int(11) NOT NULL DEFAULT 0 COMMENT '创建时间', - PRIMARY KEY (`sn`) USING BTREE, - KEY `idx_user_id` (`user_id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户编号池'; - --- 5. 插入初始编号池数据(从100000到199999) -INSERT IGNORE INTO `user_sn_pool` (`sn`, `status`, `created_at`) -SELECT - 100000 + n.n AS sn, - 0 AS status, - UNIX_TIMESTAMP() AS created_at -FROM ( - SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION - SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 -) t -CROSS JOIN ( - SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION - SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 -) t1 -CROSS JOIN ( - SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 -) t2; - --- 6. 创建迁移数据临时表(用于从旧数据迁移) -CREATE TABLE IF NOT EXISTS `_migration_users` ( - `id` bigint(20) UNSIGNED NOT NULL, - `sn` varchar(36) NOT NULL DEFAULT '', - `report_to` bigint(20) UNSIGNED NULL DEFAULT 0, - `name` varchar(60) NOT NULL DEFAULT '', - `avatar` varchar(255) NULL DEFAULT NULL, - `sex` tinyint(2) NULL DEFAULT NULL, - `password` varchar(255) NOT NULL DEFAULT '', - `phone` varchar(22) NOT NULL DEFAULT '', - `email` varchar(90) NOT NULL DEFAULT '', - `corp_id` int(11) NOT NULL DEFAULT 0, - `status` tinyint(1) NOT NULL DEFAULT 1, - `user_type` tinyint(2) NOT NULL DEFAULT 1, - `union_id` varchar(60) NULL DEFAULT NULL, - `user_id` varchar(60) NULL DEFAULT NULL, - `open_id` varchar(60) NULL DEFAULT NULL, - `tenant_key` varchar(60) NULL DEFAULT NULL, - `position` varchar(128) NULL DEFAULT NULL, - `sign_img` varchar(255) NULL DEFAULT NULL, - `created_at` int(11) NOT NULL DEFAULT 0, - `updated_at` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -CREATE TABLE IF NOT EXISTS `_migration_corp` ( - `id` int(11) UNSIGNED NOT NULL, - `name` varchar(255) NOT NULL DEFAULT '', - `abbr` enum('hesu','xinyouhe','paika','simate','mbaf') NOT NULL DEFAULT 'hesu', - `tenant_key` varchar(36) NOT NULL DEFAULT '', - `sort` int(11) NOT NULL DEFAULT 0, - `status` tinyint(1) NOT NULL DEFAULT 1, - `created_at` int(11) NOT NULL DEFAULT 0, - `updated_at` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; - -CREATE TABLE IF NOT EXISTS `_migration_corp_feishu_app` ( - `id` int(11) UNSIGNED NOT NULL, - `corp_id` int(11) NOT NULL DEFAULT 0, - `system_id` int(11) NOT NULL DEFAULT 0, - `name` varchar(90) NOT NULL DEFAULT '', - `tenant_key` varchar(36) NOT NULL DEFAULT '', - `app_id` varchar(60) NOT NULL DEFAULT '', - `app_secret` varchar(150) NOT NULL DEFAULT '', - `base_uri` varchar(255) NOT NULL DEFAULT '', - `r_url` varchar(255) NULL DEFAULT NULL, - `m_url` varchar(255) NULL DEFAULT '', - `scopes` text NULL, - `state` varchar(255) NULL DEFAULT NULL, - `sort` int(11) NOT NULL DEFAULT 0, - `status` tinyint(1) NOT NULL DEFAULT 1, - `created_at` int(11) NOT NULL DEFAULT 0, - `updated_at` int(11) NOT NULL DEFAULT 0, - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;