Files
YwxAppThink/addon/blog/install.sql
T

133 lines
6.4 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.
-- ============================================================
-- addon/blog/install.sql —— blog 插件数据表
-- 由 docs/split_install_sql.py 从根 install.sql 抽取。
-- 框架约定:插件安装时由 ywxapp\service\AddonService 执行本文件
-- (仅允许 CREATE TABLE / INSERT,见 importsql 白名单)。
-- 表名须为 __PREFIX__<插件名>_*,与 __PREFIX__addon 等核心表命名一致。
-- ============================================================
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
CREATE TABLE IF NOT EXISTS `__PREFIX__blog_article` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '标题',
`content` longtext NOT NULL COMMENT '内容',
`summary` varchar(500) DEFAULT NULL COMMENT '摘要',
`cover_image` varchar(255) DEFAULT NULL COMMENT '封面图',
`uid` int NOT NULL COMMENT '作者ID',
`cid` int DEFAULT NULL COMMENT '分类ID',
`status` tinyint(1) DEFAULT '1' COMMENT '状态:1发布 0草稿',
`audit_status` tinyint(1) DEFAULT '2' COMMENT '审核状态:0草稿 1待审 2通过 3驳回',
`lat` decimal(10,7) DEFAULT '0.0000000' COMMENT '纬度(可选,用于附近)',
`lng` decimal(10,7) DEFAULT '0.0000000' COMMENT '经度(可选,用于附近)',
`is_top` tinyint(1) DEFAULT '0' COMMENT '是否置顶',
`view_count` int DEFAULT '0' COMMENT '浏览次数',
`comment_count` int DEFAULT '0' COMMENT '评论数',
`like_count` int DEFAULT '0' COMMENT '点赞数',
`favorite_count` int DEFAULT '0' COMMENT '收藏数',
`create_at` int DEFAULT NULL COMMENT '创建时间',
`update_at` int DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_uid` (`uid`),
KEY `idx_cid` (`cid`),
KEY `idx_create_at` (`create_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='文章表';
CREATE TABLE IF NOT EXISTS `__PREFIX__blog_article_tag` (
`aid` int NOT NULL COMMENT '文章ID',
`tid` int NOT NULL COMMENT '标签ID',
PRIMARY KEY (`aid`,`tid`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='文章标签关联表';
CREATE TABLE IF NOT EXISTS `__PREFIX__blog_category` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`uid` int unsigned NOT NULL DEFAULT '0' COMMENT '所属会员UID0表示全局共享分类',
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '分类名称',
`description` varchar(255) DEFAULT NULL COMMENT '分类描述',
`sort` int DEFAULT '0' COMMENT '排序权重',
`create_at` int DEFAULT NULL COMMENT '创建时间',
`update_at` int DEFAULT NULL COMMENT '更新时间',
`status` tinyint(1) DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_uid_name` (`uid`, `name`),
KEY `idx_uid` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='分类表';
CREATE TABLE IF NOT EXISTS `__PREFIX__blog_comment` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`uid` int NOT NULL COMMENT '用户ID',
`aid` int NOT NULL COMMENT '文章ID',
`pid` int NOT NULL DEFAULT '0' COMMENT '父评论ID',
`content` text NOT NULL COMMENT '评论内容',
`status` tinyint(1) DEFAULT '1' COMMENT '状态:1正常 0待审核',
`like_count` int DEFAULT '0' COMMENT '点赞数',
`ip` varchar(45) DEFAULT NULL COMMENT 'IP地址',
`user_agent` varchar(255) DEFAULT NULL COMMENT '用户代理',
`create_at` int DEFAULT NULL COMMENT '创建时间',
`update_at` int DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_create_at` (`create_at`),
KEY `idx_aid` (`aid`) USING BTREE,
KEY `idx_pid` (`pid`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='评论表';
CREATE TABLE IF NOT EXISTS `__PREFIX__blog_favorite` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`uid` int NOT NULL COMMENT '用户ID',
`aid` int NOT NULL COMMENT '文章ID',
`create_at` int DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `user_article` (`uid`,`aid`) USING BTREE,
KEY `idx_aid` (`aid`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='收藏表';
CREATE TABLE IF NOT EXISTS `__PREFIX__blog_like` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`uid` int NOT NULL COMMENT '用户ID',
`aid` int NOT NULL COMMENT '文章ID',
`create_at` int DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `user_article` (`uid`,`aid`) USING BTREE,
KEY `idx_aid` (`aid`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='点赞表';
CREATE TABLE IF NOT EXISTS `__PREFIX__blog_tag` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '标签名称',
`description` varchar(255) DEFAULT NULL COMMENT '标签描述',
`create_at` int DEFAULT NULL COMMENT '创建时间',
`update_at` int DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='标签表';
CREATE TABLE IF NOT EXISTS `__PREFIX__blog_user` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名',
`password` varchar(255) NOT NULL DEFAULT '' COMMENT '密码',
`email` varchar(100) NOT NULL DEFAULT '' COMMENT '邮箱',
`nickname` varchar(50) DEFAULT '' COMMENT '昵称',
`avatar` varchar(255) DEFAULT '' COMMENT '头像',
`bio` varchar(255) DEFAULT '' COMMENT '个人简介',
`role` enum('admin','editor','user') DEFAULT 'user' COMMENT '角色',
`status` tinyint(1) DEFAULT '1' COMMENT '状态:1正常 0禁用',
`create_at` int DEFAULT NULL COMMENT '创建时间',
`update_at` int DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户表';
CREATE TABLE IF NOT EXISTS `__PREFIX__blog_visit` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`ip` varchar(45) DEFAULT NULL COMMENT 'IP地址',
`url` varchar(255) DEFAULT NULL COMMENT '访问URL',
`referer` varchar(255) DEFAULT '' COMMENT '来源URL',
`user_agent` varchar(255) DEFAULT '' COMMENT '用户代理',
`create_at` int DEFAULT NULL COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_url` (`url`),
KEY `idx_create_at` (`create_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='访客记录表';
SET FOREIGN_KEY_CHECKS = 1;