|
| 1 | + |
| 2 | + |
| 3 | +DROP TABLE IF EXISTS article; |
| 4 | +CREATE TABLE article |
| 5 | +( |
| 6 | + id BIGINT NOT NULL PRIMARY KEY, |
| 7 | + title VARCHAR(256) NOT NULL COMMENT '标题', |
| 8 | + summary VARCHAR(5000) DEFAULT '' COMMENT '总结概要', |
| 9 | + keywords VARCHAR(1000) DEFAULT '' COMMENT '文章关键字,直接用于meta标签,SEO', |
| 10 | + path VARCHAR(128) NOT NULL COMMENT '文章的链接路径,path组成为:/category-code/id混淆后的唯一串', |
| 11 | + content TEXT DEFAULT NULL COMMENT '文章内容', |
| 12 | + cover_img VARCHAR(512) DEFAULT '' COMMENT '封面图URL', |
| 13 | + |
| 14 | + released BIT DEFAULT 0 COMMENT '是否发布:0-草稿 1-发布', |
| 15 | + commented BIT DEFAULT 0 COMMENT '是否可以评论:0-不可评论 1-可以评论', |
| 16 | + deleted BIT DEFAULT 0 COMMENT '0-False-未删除, 1-True-已删除', |
| 17 | + |
| 18 | + create_by BIGINT DEFAULT 0, |
| 19 | + create_time DATETIME DEFAULT NOW(), |
| 20 | + update_by BIGINT DEFAULT 0, |
| 21 | + update_time DATETIME DEFAULT NULL ON UPDATE NOW() |
| 22 | +) COMMENT '文章主体'; |
| 23 | + |
| 24 | +DROP TABLE IF EXISTS article_category; |
| 25 | +CREATE TABLE article_category |
| 26 | +( |
| 27 | + id BIGINT NOT NULL PRIMARY KEY, |
| 28 | + |
| 29 | + name VARCHAR(32) NOT NULL COMMENT '分类名称', |
| 30 | + code VARCHAR(16) NOT NULL UNIQUE COMMENT '分类编码', |
| 31 | + description VARCHAR(1024) DEFAULT '' COMMENT '分类描述', |
| 32 | + color VARCHAR(16) DEFAULT '' COMMENT '分类颜色', |
| 33 | + icon_url VARCHAR(512) DEFAULT '' COMMENT '分类的图标URL', |
| 34 | + pid BIGINT DEFAULT 0 COMMENT '上一级分类', |
| 35 | + |
| 36 | + status BIT DEFAULT 0 COMMENT '状态:0-无效 1-有效', |
| 37 | + deleted BIT DEFAULT 0 COMMENT '0-False-未删除, 1-True-已删除', |
| 38 | + |
| 39 | + create_by BIGINT DEFAULT 0, |
| 40 | + create_time DATETIME DEFAULT NOW(), |
| 41 | + update_by BIGINT DEFAULT 0, |
| 42 | + update_time DATETIME DEFAULT NULL ON UPDATE NOW(), |
| 43 | + INDEX idx_pid (pid) |
| 44 | +) COMMENT '文章分类'; |
| 45 | + |
| 46 | +DROP TABLE IF EXISTS article_category_relation; |
| 47 | +CREATE TABLE article_category_relation |
| 48 | +( |
| 49 | + article_id BIGINT NOT NULL COMMENT '文章ID', |
| 50 | + category_id BIGINT NOT NULL COMMENT '分类ID', |
| 51 | + PRIMARY KEY (article_id, category_id) |
| 52 | +) COMMENT '文章与分类的关联,一篇文章可以有多个分类'; |
| 53 | + |
| 54 | +DROP TABLE IF EXISTS article_author; |
| 55 | +CREATE TABLE article_author |
| 56 | +( |
| 57 | + id BIGINT NOT NULL PRIMARY KEY, |
| 58 | + |
| 59 | + nick_name VARCHAR(64) NOT NULL COMMENT '笔名', |
| 60 | + real_name VARCHAR(32) DEFAULT '' COMMENT '真实姓名', |
| 61 | + description VARCHAR(2048) DEFAULT '' COMMENT '描述', |
| 62 | + |
| 63 | + email VARCHAR(128) DEFAULT '' COMMENT '用户邮箱', |
| 64 | + phone VARCHAR(128) DEFAULT '' COMMENT '用户手机号', |
| 65 | + address VARCHAR(128) DEFAULT '' COMMENT '地址', |
| 66 | + birthday DATETIME DEFAULT NULL COMMENT '生日', |
| 67 | + gender INT DEFAULT 1 COMMENT '1-男; 0-女;2-未知', |
| 68 | + |
| 69 | + status BIT DEFAULT 0 COMMENT '状态:0-无效 1-有效', |
| 70 | + deleted BIT DEFAULT 0 COMMENT '0-False-未删除, 1-True-已删除', |
| 71 | + create_by BIGINT DEFAULT 0, |
| 72 | + create_time DATETIME DEFAULT NOW(), |
| 73 | + update_by BIGINT DEFAULT 0, |
| 74 | + update_time DATETIME DEFAULT NULL ON UPDATE NOW() |
| 75 | +) COMMENT '文章作者'; |
| 76 | + |
| 77 | +DROP TABLE IF EXISTS article_author_relation; |
| 78 | +CREATE TABLE article_author_relation |
| 79 | +( |
| 80 | + article_id BIGINT NOT NULL COMMENT '文章ID', |
| 81 | + author_id BIGINT NOT NULL COMMENT '作者ID', |
| 82 | + PRIMARY KEY (article_id, author_id) |
| 83 | +) ENGINE = InnoDB COMMENT '文章与作者的关联,一篇文章可以有多个作者'; |
| 84 | + |
| 85 | +DROP TABLE IF EXISTS article_comment; |
| 86 | +CREATE TABLE article_comment |
| 87 | +( |
| 88 | + id BIGINT NOT NULL PRIMARY KEY, |
| 89 | + `article_id` BIGINT NOT NULL COMMENT '被评论文章ID', |
| 90 | + |
| 91 | + -- 评论者(注意,整合到业务上时,一般只需要记录评论者ID) |
| 92 | + commentator_id BIGINT DEFAULT 0 COMMENT '评论者ID', |
| 93 | + commentator_name VARCHAR(50) DEFAULT '' COMMENT '评论者名称', |
| 94 | + commentator_email VARCHAR(100) DEFAULT '' COMMENT '评论人的邮箱', |
| 95 | + commentator_link VARCHAR(50) DEFAULT '' COMMENT '评论者的拓展链接,如个人网站地址', |
| 96 | + commentator_ip VARCHAR(20) DEFAULT '' COMMENT '评论者的ip地址', |
| 97 | + content VARCHAR(2048) NOT NULL COMMENT '评论内容', |
| 98 | + |
| 99 | + `root_id` BIGINT DEFAULT 0 COMMENT '根级父评论,顶级父评论ID,如果为0表示当前记录没有父评论,也即为顶级评论', |
| 100 | + `pid` BIGINT DEFAULT 0 COMMENT '父评论ID,此条评论回复的是谁。如果为0表示当前记录没有父评论', |
| 101 | + `pname` VARCHAR(20) DEFAULT '' COMMENT '父评论名称,此条评论回复的是谁。如果为空则表示没有父评论或者没有赋值', |
| 102 | + |
| 103 | + `released` BIT DEFAULT 0 COMMENT '是否发布评论:0-未审核、不发布,1-审核通过、发布', |
| 104 | + deleted BIT DEFAULT 0 COMMENT '0-False-未删除, 1-True-已删除', |
| 105 | + create_by BIGINT DEFAULT 0, |
| 106 | + create_time DATETIME DEFAULT NOW(), |
| 107 | + update_by BIGINT DEFAULT 0, |
| 108 | + update_time DATETIME DEFAULT NULL ON UPDATE NOW(), |
| 109 | + INDEX idx_article_id (article_id) |
| 110 | +) COMMENT '文章评论'; |
| 111 | + |
| 112 | +DROP TABLE IF EXISTS article_file; |
| 113 | +CREATE TABLE article_file |
| 114 | +( |
| 115 | + id BIGINT AUTO_INCREMENT PRIMARY KEY, |
| 116 | + article_id BIGINT DEFAULT 0 COMMENT '文章id', |
| 117 | + file_link VARCHAR(512) NOT NULL COMMENT '文件地址', |
| 118 | + file_type VARCHAR(10) NOT NULL COMMENT '文件类型:text文本、image图片、video视频、audio音频、zip压缩包、bin二进制数据', |
| 119 | + |
| 120 | + deleted BIT DEFAULT 0 COMMENT '0-False-未删除, 1-True-已删除', |
| 121 | + create_by BIGINT DEFAULT 0, |
| 122 | + create_time DATETIME DEFAULT NOW(), |
| 123 | + update_by BIGINT DEFAULT 0, |
| 124 | + update_time DATETIME DEFAULT NULL ON UPDATE NOW() |
| 125 | +) COMMENT '文章静态资源文件(图片、视频、音乐、文档等)'; |
| 126 | + |
| 127 | +DROP TABLE IF EXISTS article_visit_log; |
| 128 | +CREATE TABLE article_visit_log |
| 129 | +( |
| 130 | + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID', |
| 131 | + article_id BIGINT NOT NULL COMMENT '文章ID', |
| 132 | + user_id BIGINT DEFAULT 0 COMMENT '用户ID(未登录则为空或0)', |
| 133 | + |
| 134 | + ip VARCHAR(64) COMMENT '访问IP', |
| 135 | + ip_location VARCHAR(128) COMMENT 'IP解析的地理位置(省市区)', |
| 136 | + user_agent VARCHAR(512) COMMENT 'User-Agent', |
| 137 | + referer_url VARCHAR(512) COMMENT '来源页面URL', |
| 138 | + |
| 139 | + time_use INT DEFAULT 0 COMMENT '请求耗时', |
| 140 | + visit_time DATETIME DEFAULT NOW() COMMENT '访问时间', |
| 141 | + INDEX idx_article_id (article_id) |
| 142 | +) COMMENT ='文章访问日志表'; |
0 commit comments