代码拉取完成,页面将自动刷新
基于 Express + MariaDB 开发的一个后端程序,目的是学习后端和为学习前端页面提供一个后端API。
进入工作目录,把文件 .enva
名称修改为 .env
mv .enva .env
并修改环境变量
字段名 | 数据类型 | 描述 |
---|---|---|
id | INT | 用户ID,主键 |
username | VARCHAR(255) | 用户名,唯一 |
password | CHAR(64) | 加密后的密码 |
VARCHAR(255) | 邮箱地址,唯一,并建立唯一索引 | |
profileImage | VARCHAR(255) | 头像URL |
bio | VARCHAR(255) | 用户简介 |
created_at | BIGINT | 账户创建时间戳 |
updated_at | BIGINT | 账户最后更新时间戳 |
status | TINYINT(1) | 用户状态(1=活跃,0=禁用) |
role | ENUM('user', 'admin') | 用户角色,区分普通用户和管理员 |
对应代码:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL UNIQUE,
password CHAR(64) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
profileImage VARCHAR(255),
bio VARCHAR(255),
created_at BIGINT NOT NULL,
updated_at BIGINT NOT NULL,
status TINYINT(1) DEFAULT 1 CHECK (status IN (0, 1)),
role ENUM('user', 'admin') DEFAULT 'user'
);
字段名 | 数据类型 | 描述 |
---|---|---|
id | INT | 文章ID,主键 |
user_id | INT | 作者ID,外键 |
title | VARCHAR(255) | 文章标题,可建立全文索引(如果支持) |
content | TEXT | Markdown文章内容 |
created_at | BIGINT | 文章发布时间 |
updated_at | BIGINT | 文章最后更新时间 |
published | TINYINT(1) | 是否发布(1=是,0=否) |
views | INT | 文章浏览量 |
对应代码:
CREATE TABLE posts (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
created_at BIGINT NOT NULL,
updated_at BIGINT NOT NULL,
published TINYINT(1) DEFAULT 0,
views INT DEFAULT 0,
FOREIGN KEY (user_id) REFERENCES users(id),
FULLTEXT (title) -- 如果数据库支持全文索引
);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。