blob: 13977af368c805a4270dca71f7bc80a82b11bd01 [file] [log] [blame]
ZBDb704c9f2025-05-23 21:51:39 +08001-- 创建数据库(如果不存在)
2-- 请确保您的Docker Compose配置中的数据库名称与此处一致
3CREATE DATABASE IF NOT EXISTS mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
4
5-- 切换到目标数据库
6USE mydatabase;
7
8-- 删除表(如果已存在),以便重新创建
9DROP TABLE IF EXISTS `user`;
10
11-- 创建用户表
12CREATE TABLE `user` (
13 `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '用户ID,主键,自增长',
14 `username` VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名,唯一,不可为空',
15 `password` VARCHAR(100) NOT NULL COMMENT '密码,存储加密后的密码,不可为空',
16 `email` VARCHAR(100) NULL DEFAULT NULL COMMENT '邮箱地址',
17 `status` INT NOT NULL DEFAULT 1 COMMENT '用户状态,例如 0:禁用, 1:启用,默认为1',
18 `score` INT NOT NULL DEFAULT 0 COMMENT '用户积分,默认为0',
19 `role` VARCHAR(20) NOT NULL DEFAULT 'USER' COMMENT '用户角色,例如 ADMIN, USER,默认为USER',
20 `create_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
21 `update_time` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
22 PRIMARY KEY (`id`),
23 UNIQUE KEY `uk_username` (`username`) -- 确保用户名唯一
24) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
25
26-- 可选:插入一条测试用户数据
27-- 请注意:这里的密码 'password123' 是明文,您需要用您应用中配置的BCryptPasswordEncoder加密后的密码替换它
28-- 例如,使用 Spring Security 的 BCryptPasswordEncoder 对 'your_secure_password' 进行加密
29-- SELECT '$2a$10$YOUR_BCRYPT_HASH_HERE'; -- 替换这里的哈希值
30
31INSERT INTO `user` (`username`, `password`, `email`, `status`, `score`, `role`, `create_time`, `update_time`)
32VALUES (
33 'testuser',
34 '$$2a$10$EEBnvonhdTGA0StQHdxMUeAQyxm1uvJOKkHu01Pe0B9a2vfGH3cge', -- 请用加密后的密码替换此处的占位符
35 'test@example.com',
36 1, -- 启用状态
37 100, -- 初始积分
38 'USER', -- 默认角色
39 CURRENT_TIMESTAMP,
40 CURRENT_TIMESTAMP
41);
42
43