feat(database): 添加数据库配置和建表脚本

- 新增 .env.example 文件,包含数据库连接配置
- 新增 DatabaseTemplate.sql 文件,包含 SMS 系统的数据库建表脚本
- 表结构设计包括用户表、应用表、短信内容表以及用户相关日志表
This commit is contained in:
mao 2025-04-30 18:06:51 +08:00
parent a4e5648147
commit d93385ba68
2 changed files with 111 additions and 0 deletions

5
.env.example Normal file
View File

@ -0,0 +1,5 @@
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

106
DatabaseTemplate.sql Normal file
View File

@ -0,0 +1,106 @@
/*
Navicat Premium Dump SQL
Source Server : win
Source Server Type : MySQL
Source Server Version : 80403 (8.4.3)
Source Host : localhost:3306
Source Schema : sms
Target Server Type : MySQL
Target Server Version : 80403 (8.4.3)
File Encoding : 65001
Date: 30/04/2025 18:04:35
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for sms_apps
-- ----------------------------
DROP TABLE IF EXISTS `sms_apps`;
CREATE TABLE `sms_apps` (
`id` int NOT NULL AUTO_INCREMENT,
`user_id` int NOT NULL COMMENT '关联用户',
`app_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '应用名称',
`app_uuid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '应用ID',
`created_at` datetime NULL DEFAULT NULL,
`updated_at` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`, `app_uuid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sms_contents
-- ----------------------------
DROP TABLE IF EXISTS `sms_contents`;
CREATE TABLE `sms_contents` (
`id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
`user_id` int NOT NULL,
`app_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`app_uuid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`headers` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
`original` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
`from` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL,
`ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`created_at` datetime NULL DEFAULT NULL,
`updated_at` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`, `user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for users
-- ----------------------------
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
`username` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
`nickname` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '昵称',
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',
`email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
`mobile` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机',
`last_time` datetime NULL DEFAULT NULL COMMENT '登录时间',
`last_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '登录ip',
`join_time` datetime NULL DEFAULT NULL COMMENT '注册时间',
`join_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '注册ip',
`token` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'token',
`created_at` datetime NULL DEFAULT NULL COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT NULL COMMENT '更新时间',
`status` tinyint NOT NULL DEFAULT 0 COMMENT '禁用',
PRIMARY KEY (`id`, `username`) USING BTREE,
UNIQUE INDEX `username`(`username` ASC) USING BTREE,
INDEX `join_time`(`join_time` ASC) USING BTREE,
INDEX `mobile`(`mobile` ASC) USING BTREE,
INDEX `email`(`email` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for users_logs
-- ----------------------------
DROP TABLE IF EXISTS `users_logs`;
CREATE TABLE `users_logs` (
`id` bigint NOT NULL AUTO_INCREMENT,
`user_id` int NOT NULL,
`ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`created_at` datetime NULL DEFAULT NULL,
`updated_at` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for users_tokens
-- ----------------------------
DROP TABLE IF EXISTS `users_tokens`;
CREATE TABLE `users_tokens` (
`id` int NOT NULL AUTO_INCREMENT,
`user_id` int NOT NULL,
`token` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户密钥',
`created_at` datetime NULL DEFAULT NULL,
`updated_at` datetime NULL DEFAULT NULL,
PRIMARY KEY (`id`, `user_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;