创建数据库:
-- 创建数据库
CREATE DATABASE IF NOT EXISTS `site` DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
基础用户表:
-- 用户表 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( id int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id', username varchar(255) NOT NULL COMMENT '用户名', auth_key varchar(32) NOT NULL COMMENT '自登陆key', password_hash varchar(255) NOT NULL COMMENT '加密密码', password_reset_token varchar(255) DEFAULT NULL COMMENT '重置密码', email varchar(255) NOT NULL COMMENT '邮箱', role smallint(6) NOT NULL DEFAULT '10' COMMENT '角色等级', status smallint(6) NOT NULL DEFAULT '10' COMMENT '状态', created_at int(11) NOT NULL COMMENT '创建时间', updated_at int(11) NOT NULL COMMENT '更新时间', PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
文章类表:
-- 文章表 DROP TABLE IF EXISTS `posts`; CREATE TABLE `posts` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', `title` varchar(255) DEFAULT NULL COMMENT '标题', `summary` varchar(255) DEFAULT NULL COMMENT '摘要', `content` text COMMENT '内容', `label_img` varchar(255) DEFAULT NULL COMMENT '标签图', `cat_id` int(11) DEFAULT NULL COMMENT '分类id', `user_id` int(11) DEFAULT NULL COMMENT '用户id', `user_name` varchar(255) DEFAULT NULL COMMENT '用户名', `is_valid` tinyint(1) DEFAULT '0' COMMENT '是否有效:0-未发布 1-已发布', `created_at` int(11) DEFAULT NULL COMMENT '创建时间', `updated_at` int(11) DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`), KEY `idx_cat_valid` (`cat_id`,`is_valid`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4 COMMENT='文章主表'; -- 文章分类表 DROP TABLE IF EXISTS `cats`; CREATE TABLE `cats` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', `cat_name` varchar(255) DEFAULT NULL COMMENT '分类名称', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='分类表'; -- 文章标签表 DROP TABLE IF EXISTS `tags`; CREATE TABLE `tags` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', `tag_name` varchar(255) DEFAULT NULL COMMENT '标签名称', `post_num` int(11) DEFAULT '0' COMMENT '关联文章数', PRIMARY KEY (`id`), UNIQUE KEY `tag_name` (`tag_name`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='标签表'; -- 文章与标签关联表 DROP TABLE IF EXISTS `relation_post_tags`; CREATE TABLE `relation_post_tags` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID', `post_id` int(11) DEFAULT NULL COMMENT '文章ID', `tag_id` int(11) DEFAULT NULL COMMENT '标签ID', PRIMARY KEY (`id`), UNIQUE KEY `post_id` (`post_id`,`tag_id`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='文章和标签关系表';
-- 文章统计表
CREATE TABLE `post_extends` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`post_id` int(11) DEFAULT NULL COMMENT '文章id',
`browser` int(11) DEFAULT '0' COMMENT '浏览量',
`collect` int(11) DEFAULT '0' COMMENT '收藏量',
`praise` int(11) DEFAULT '0' COMMENT '点赞',
`comment` int(11) DEFAULT '0' COMMENT '评论',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8 COMMENT='文章统计表';