🗃️ 小程序用户 openid 唯一键改为普通索引

This commit is contained in:
2026-10-26 14:48:48 +08:00
parent ccf3d7adf7
commit 29c9f229ac
2 changed files with 9 additions and 1 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ CREATE TABLE IF NOT EXISTS `blade_mp_user` (
`is_deleted` int NULL DEFAULT 0 COMMENT '是否已删除',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_mp_user_tenant_phone` (`tenant_id`, `phone`) USING BTREE,
UNIQUE KEY `uk_mp_user_tenant_openid` (`tenant_id`, `openid`) USING BTREE,
KEY `idx_mp_user_openid` (`tenant_id`, `openid`) USING BTREE,
KEY `idx_mp_user_account` (`tenant_id`, `account`) USING BTREE,
KEY `idx_mp_user_identities` (`identities`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '小程序用户表';
@@ -0,0 +1,8 @@
-- 小程序用户表 openid 索引:唯一键 uk_mp_user_tenant_openid 改为普通索引 idx_mp_user_openid(tenant_id, openid)
-- openid 是「该账号最近一次登录用的微信」的留痕,不是账号标识:允许为空,允许多个账号留下同一个 openid
-- 回滚(加回唯一键)前必须先把重复的 openid 置 NULL,否则唯一键 DDL 直接失败
-- 部署时在业务库执行本脚本
ALTER TABLE `blade_mp_user`
DROP INDEX `uk_mp_user_tenant_openid`,
ADD INDEX `idx_mp_user_openid` (`tenant_id`, `openid`) USING BTREE;