service.xpcool.com/manifest/sql/002_business_extension.sql

53 lines
2.3 KiB
Go
Raw Permalink 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.

-- 刷新令牌会话表实现令牌轮换登出和改密后的主动失效
CREATE TABLE IF NOT EXISTS auth_refresh_session (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
subject_id BIGINT UNSIGNED NOT NULL COMMENT '用户或管理员 ID',
scope VARCHAR(16) NOT NULL COMMENT 'user/admin',
terminal VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'mini/h5/app',
jti CHAR(43) NOT NULL COMMENT 'JWT 唯一编号',
expired_at DATETIME NOT NULL,
revoked_at DATETIME NULL,
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL,
deleted_at DATETIME NULL,
PRIMARY KEY (id),
UNIQUE KEY uk_refresh_jti (jti),
KEY idx_refresh_subject_scope (subject_id, scope),
KEY idx_refresh_expired_at (expired_at),
KEY idx_refresh_deleted_at (deleted_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='刷新令牌会话';
-- 内容收藏站内消息是用户端基础模块的最小数据模型
CREATE TABLE IF NOT EXISTS content (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
body LONGTEXT NULL,
status TINYINT NOT NULL DEFAULT 1,
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL,
deleted_at DATETIME NULL,
PRIMARY KEY (id), KEY idx_content_status_created (status, created_at), KEY idx_content_deleted_at (deleted_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通用内容';
CREATE TABLE IF NOT EXISTS user_favorite (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id BIGINT UNSIGNED NOT NULL,
content_id BIGINT UNSIGNED NOT NULL,
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL,
deleted_at DATETIME NULL,
PRIMARY KEY (id), UNIQUE KEY uk_favorite_user_content (user_id, content_id), KEY idx_favorite_user_created (user_id, created_at), KEY idx_favorite_deleted_at (deleted_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户收藏';
CREATE TABLE IF NOT EXISTS user_message (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id BIGINT UNSIGNED NOT NULL,
title VARCHAR(200) NOT NULL,
content TEXT NOT NULL,
is_read TINYINT NOT NULL DEFAULT 0,
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL,
deleted_at DATETIME NULL,
PRIMARY KEY (id), KEY idx_message_user_read_created (user_id, is_read, created_at), KEY idx_message_deleted_at (deleted_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户站内消息';