后台项目 Express-Mysql-Vue3-TS-Pinia 用户详细信息表

96 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情

用户详细信息表

引言

通过之前一段时间 ExpressMysql 的学习

这里尝试来搭建一个 后台系统 来巩固下学习的技术。

用户管理

上一节,我们在前端的 系统管理 下的 菜单管理 中,配置了 用户管理 的一个菜单

并且能够成功的在 侧边栏 以及 主内容区域 中进行展示

下面我们进行 后端数据库 的配置,需要添加一个用户的 详细信息表

详细信息表

首先要知道,我们为什么需要添加这个 详细信息表

  • 由于原先我们的 用户表,只存储了注册时的 用户名密码,以及 创建时间 这三个字段

    image.png

  • 很显然,上面的字段过于基础,对于一个用户来说,完全不够

  • 所以这里为了扩展 用户 的一个数据,通过新建一个 用户的详细信息表,里面的 userid用户表id 字段进行 外键 的一个关联,来进行存储

  • 并且新增的字段包括:nameemailavatar_iduseridroleArrId

    对应分别为 昵称邮箱头像_id用户的外键角色id的列表

sql

我们这里编写 sql 语句,来创建 用户详细信息表

const createTableUserInfo = `
create table if not exists userinfo(
  id int primary key auto_increment comment '主键',
  name varchar(10) default '' comment '昵称',
  email varchar(50) default '' comment 'email',
  avatar_id int default null comment '头像_id',
  userid int comment '用户的外键',
  roleArrId varchar(255) not null default '[]' comment '列表-角色id',
  create_time datetime not null default current_timestamp comment '创建日期',
  constraint fk_userid2 foreign key (userid) references user (id)
) comment '用户详细表';
`

可以看到还是很容易的,但是需要注意的是,我们的 roleArrId 字段是 string 类型

所以在后续我们存储的时候,通过 JSON 将前端传入过来的 数组对象,转化成 string 进行存储

总结

通过 Express-Mysql-Vue3-TS-Pinia 做出一个 后台系统 项目

完成了 后端数据库中,新增了一张 用户详细信息表