搞定基于go-zero微服务架构的博客系统(1)

2023-12-12 22:37:21 浏览数 (1)

本篇文章开始正式进入系统的设计开发。

1 实体模型

1.1 文章表

实体名称:Article

表名:geek_blog_article

文章表主要包含字段为主键、创建者ID、类别ID、标题、内容、大纲、阅读数、状态等等。

字段名称

字段类型

字段含义

id

INT AUTO_INCREMENT

自增主键

a_id

INT

文章的唯一标识符

user_id

INT

文章作者的ID

category_id

INT

文章分类的ID

title

VARCHAR(255)

文章标题

summary

TEXT

文章摘要

content

TEXT

文章内容

cover_image_url

VARCHAR(255)

文章封面图像的URL

views_count

INT DEFAULT 0

文章阅读数

rating_score

FLOAT DEFAULT 0.0

文章打分数

status

int

文章状态

modifier_id

INT

最后修改者的用户ID

created_at

TIMESTAMP

文章创建时间

updated_at

TIMESTAMP

文章最后更新时间

1.2 分类表

实体名:Category

表名:geek_blog_category

分类表主要包括类别名称、ID等字段。

字段名称

字段类型

字段含义

id

INT AUTO_INCREMENT

自增主键

c_id

into

分类的唯一标识符

name

VARCHAR(255)

分类名称

created_at

TIMESTAMP

分类创建时间

updated_at

TIMESTAMP

分类最后更新时间

state

int

逻辑删除标记

1.3 分享表

实体名称:Share

表名称:geek_blog_share

分享表主要包括分享者ID、标题、资源连接、封面链接、介绍等。

字段名称

字段类型

字段含义

id

INT AUTO_INCREMENT

自增主键

share_id

INT

唯一标识符

user_id

INT

上传者的ID

share_type

INT

分享内容的类型

title

VARCHAR(255)

标题

resources_url

VARCHAR(255)

资源的URL

logo_url

VARCHAR(255)

文件存储路径(如服务器上的URL)

description

VARCHAR(255)

描述或介绍性文本(可选)

created_at

TIMESTAMP

上传时间

state

int

逻辑删除标记

1.4 用户表

实体名称:User

表名称:geek_blog_user

用户表主要包括用户ID、用户名等。

字段名称

字段类型

字段含义

id

INT AUTO_INCREMENT

自增ID

user_id

INT

主键

user_name

VARCHAR(255)

用户名

role

INT

角色

login_ip

VARCHAR(255)

登录者IP地址

login_type

INT

登录类型

created_at

TIMESTAMP

注册时间

state

int

逻辑删除标记

1.5 日志表

实体名:Log

表名:geek_blog_log

主要包括日志记录的对象类型、ID和事件类型、扩展信息等字段。

字段名称

字段类型

字段含义

id

INT AUTO_INCREMENT

自增主键

obj_type

INT

日志记录对象类型

obj_id

INT

日志记录对象ID

action_type

int

日志类型(文章阅读、登录等等)

extend_data

TEXT

日志相关数据的JSON字符串(可选,用于存储与日志相关的额外数据,如登录IP地址、查看时间等)

created_at

TIMESTAMP

日志创建时间

实体设计完成,后续可能根据业务变动修改字段或新增实体。

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

0 人点赞