33 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
| -- 创建用户表
 | ||
| CREATE TABLE yz_users (
 | ||
|     id INT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
 | ||
|     username VARCHAR(50) NOT NULL COMMENT '用户名',
 | ||
|     password VARCHAR(255) NOT NULL COMMENT '加密后的密码',
 | ||
|     salt VARCHAR(100) NOT NULL COMMENT '密码盐值',
 | ||
|     email VARCHAR(100) DEFAULT NULL COMMENT '邮箱地址',
 | ||
|     avatar VARCHAR(500) DEFAULT NULL COMMENT '头像URL',
 | ||
|     nickname VARCHAR(50) DEFAULT NULL COMMENT '昵称',
 | ||
|     role VARCHAR(20) DEFAULT 'user' COMMENT '用户角色:admin-管理员,user-普通用户',
 | ||
|     status TINYINT DEFAULT 1 COMMENT '用户状态:0-禁用,1-启用',
 | ||
|     last_login_time DATETIME DEFAULT NULL COMMENT '最后登录时间',
 | ||
|     last_login_ip VARCHAR(45) DEFAULT NULL COMMENT '最后登录IP',
 | ||
|     login_count INT DEFAULT 0 COMMENT '登录次数',
 | ||
|     create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
 | ||
|     update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
 | ||
|     create_by VARCHAR(50) DEFAULT NULL COMMENT '创建人',
 | ||
|     update_by VARCHAR(50) DEFAULT NULL COMMENT '更新人',
 | ||
|     
 | ||
|     -- 索引
 | ||
|     UNIQUE KEY uk_username (username),
 | ||
|     INDEX idx_email (email),
 | ||
|     INDEX idx_role (role),
 | ||
|     INDEX idx_status (status),
 | ||
|     INDEX idx_create_time (create_time)
 | ||
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
 | ||
| 
 | ||
| -- 插入默认管理员用户
 | ||
| -- 密码为 yunzer123,已使用scrypt算法加密
 | ||
| INSERT INTO yz_users (username, password, salt, email, nickname, role, status, create_by) VALUES
 | ||
| ('admin', 'encrypted_password_here', 'salt_here', 'admin@yunzer.com', '超级管理员', 'admin', 1, 'system'),
 | ||
| ('test', 'encrypted_password_here', 'salt_here', 'test@yunzer.com', '测试用户', 'user', 1, 'system');
 |