• 【go零基础】go-zero从零基础学习到实战教程 - 1项目表设计


    既然是0基础,现在来写下设计思路,因为go-zero是个微服务架构,所以,哪怕是0基础,也从两个服务模块开始写起。

    我们的目标是:最小可用微服务架构最佳实践!

    好了,饼画完了。
    第0部分写到,主要是做一个文章编辑发布。
    那就简单粗暴的分成两个服务:user服务和article服务。

    完美。

    来一个简简单单的表设计。
    在这里插入图片描述

    ⚠️注意哈,token是放redis存储的,其余的放mysql。
    如果有疑问,点此一键搜索token为什么要放redis

    从上图可以看的出来咱们这个业务设计的也是相当简单哈,用户没设置登录名,就用手机号作为登录名哈,文章这一块也设计的相当简单,再就是加了一个评论的功能。pid就是父评论id,aid就是对应的文章的id。

    打个响指🫰,除了token外一键生成对应的.sql文件。ok,很棒。

    user表:

    CREATE TABLE IF NOT EXISTS `user` (
    	`id` varchar(128) NOT NULL DEFAULT '' COMMENT '用户ID',
    	`name` varchar(32) NULL COMMENT '用户姓名',
    	`phone` varchar(128) NOT NULL DEFAULT '' COMMENT '用户手机号/登录用户名',
    	`type` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '用户类型: 0-普通用户、1-后台管理员',
    	`createTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '用户注册时间',
    	`status` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '用户状态: 0-正常、1-冻结、2-注销、3-拉黑',
    	PRIMARY KEY (`id`),
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    article表:

    CREATE TABLE IF NOT EXISTS `article` (
    	`id` varchar(128) NOT NULL DEFAULT '' COMMENT '文章ID',
    	`title` varchar(128) NULL DEFAULT '' COMMENT '文章标题',
    	`desc` varchar(256) NULL DEFAULT '' COMMENT '文章描述',
        `content` TEXT NULL COMMENT '文章内容',
    	`author` varchar(128) NULL COMMENT '文章作者',
    	`createTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '文章发布时间',
    	`assets` varchar(1024) NULL COMMENT '附件',
    	`status` tinyint(3) unsigned NOT NULL DEFAULT 0 COMMENT '文章状态: 0-正常、1-已删除',
    	PRIMARY KEY (`id`),
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    comment表:

    CREATE TABLE IF NOT EXISTS `comment` (
    	`id` varchar(128) NOT NULL DEFAULT '' COMMENT '评论ID',
    	`pid` varchar(128) NULL DEFAULT '' COMMENT '回复的评论ID',
    	`aid` varchar(128) NULL DEFAULT '' COMMENT '评论所属文章',
    	`creator` varchar(128) NULL COMMENT '评论人',
    	`createTime` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '评论发布时间',
    	PRIMARY KEY (`id`),
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    很好,现在表设计已经完成了,nice~

  • 相关阅读:
    西门子S7协议及报文格式详解
    规划数学期末考试模拟二
    1、Kafka 安装与简单使用
    向往的开源之多YOUNG新生 | 从开源到就业的避坑指南来啦!
    【学习笔记】Java 一对一培训(2.2)Java基础逻辑
    【校招VIP】【约起来】产品PRD文档:重点在于能约起来的类别
    ApacheHTTPClient的连接释放-EverNote同步
    LeetCode【17】电话号码的字母组合
    排序算法的分析及实现
    【云原生之kubernetes实战】在k8s环境下安装Taskover任务管理工具
  • 原文地址:https://blog.csdn.net/m0_37723113/article/details/138162985