From d93385ba68d9f6ce97f09770153b24218ed297d3 Mon Sep 17 00:00:00 2001 From: mao Date: Wed, 30 Apr 2025 18:06:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(database):=20=E6=B7=BB=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E9=85=8D=E7=BD=AE=E5=92=8C=E5=BB=BA=E8=A1=A8?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 .env.example 文件,包含数据库连接配置 - 新增 DatabaseTemplate.sql 文件,包含 SMS 系统的数据库建表脚本 - 表结构设计包括用户表、应用表、短信内容表以及用户相关日志表 --- .env.example | 5 ++ DatabaseTemplate.sql | 106 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 .env.example create mode 100644 DatabaseTemplate.sql diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..d39cf5a --- /dev/null +++ b/.env.example @@ -0,0 +1,5 @@ +DB_HOST=127.0.0.1 +DB_PORT=3306 +DB_DATABASE= +DB_USERNAME= +DB_PASSWORD= \ No newline at end of file diff --git a/DatabaseTemplate.sql b/DatabaseTemplate.sql new file mode 100644 index 0000000..e0b73f3 --- /dev/null +++ b/DatabaseTemplate.sql @@ -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;