Files
yunzerwebsiteallinone/go/docs/sql/create_guest_tables.sql
T
2026-11-03 11:13:59 +08:00

34 lines
2.3 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================
-- 游客(免登录模块)身份与通用数据表
-- 对应代码:models.GuestUser / models.GuestData、services/gueststore
-- 幂等:CREATE TABLE IF NOT EXISTS,可重复执行
-- 用途:小程序用手机号授权换取“游客轻身份”,免登录模块产生的数据
-- 按 guest_id + module 存入 yz_guest_data(文档式,永久保留不清理);
-- 正式登录后按手机号把数据合并进正式账号(merged_uid 标记,行置 is_deleted=2)。
-- =============================================================
CREATE TABLE IF NOT EXISTS `yz_guest_user` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`phone` VARCHAR(20) NOT NULL DEFAULT '' COMMENT '微信验证手机号(游客唯一标识)',
`openid` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '小程序 openid(可选溯源)',
`unionid` VARCHAR(64) NOT NULL DEFAULT '' COMMENT 'unionid(可为空)',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '首次授权时间',
`last_active_time` DATETIME NULL COMMENT '最近一次签发/活动时间',
`merged_uid` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '转正并入的 AuthIdentity.ID,0=未合并',
`merged_time` DATETIME NULL COMMENT '合并时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='游客轻身份(微信手机号授权签发)';
CREATE TABLE IF NOT EXISTS `yz_guest_data` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`guest_id` BIGINT UNSIGNED NOT NULL COMMENT 'yz_guest_user.id',
`module` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '所属业务模块:notebook / schedule / passwordStore / …',
`payload` TEXT NOT NULL COMMENT '业务条目 JSON 序列化(结构由各模块自定义)',
`is_deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '0正常 1已删除(保留不清理) 2已合并进正式账号',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
`update_time` DATETIME NULL,
PRIMARY KEY (`id`),
KEY `idx_guest_module` (`guest_id`, `module`, `is_deleted`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='游客通用数据(按模块文档式存储,永久保留)';