feat(admin-server): 启用数据库初始化模式并更新表结构及初始化数据
This commit is contained in:
parent
f5e379154b
commit
ca189682e5
|
|
@ -3,6 +3,10 @@ server:
|
||||||
|
|
||||||
# application.yml (公用配置)
|
# application.yml (公用配置)
|
||||||
spring:
|
spring:
|
||||||
|
sql:
|
||||||
|
init:
|
||||||
|
mode: always
|
||||||
|
schema-locations: classpath:db/init.sql
|
||||||
mvc:
|
mvc:
|
||||||
path match:
|
path match:
|
||||||
matching-strategy: ant_path_matcher
|
matching-strategy: ant_path_matcher
|
||||||
|
|
|
||||||
|
|
@ -1,73 +1,45 @@
|
||||||
-- 初始化数据库脚本
|
-- 创建admin表
|
||||||
-- 创建于 2023-05-24
|
CREATE TABLE IF NOT EXISTS `admin` (
|
||||||
-- 作者: FallingCliff
|
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
|
||||||
-- 创建数据库(如果不存在)
|
|
||||||
-- CREATE DATABASE IF NOT EXISTS admin_server DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
|
||||||
|
|
||||||
-- USE admin_server;
|
|
||||||
|
|
||||||
-- 删除表(如果存在)
|
|
||||||
DROP TABLE IF EXISTS `admin`;
|
|
||||||
DROP TABLE IF EXISTS `customer`;
|
|
||||||
|
|
||||||
-- 创建管理员表
|
|
||||||
CREATE TABLE `admin` (
|
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|
||||||
`username` varchar(50) NOT NULL COMMENT '用户名',
|
`username` varchar(50) NOT NULL COMMENT '用户名',
|
||||||
`password` varchar(100) NOT NULL COMMENT '密码',
|
`password` varchar(100) NOT NULL COMMENT '密码',
|
||||||
`real_name` varchar(50) DEFAULT NULL COMMENT '姓名',
|
`nickname` varchar(50) DEFAULT NULL COMMENT '昵称',
|
||||||
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
|
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
|
||||||
`phone` varchar(20) DEFAULT NULL COMMENT '手机号',
|
`phone` varchar(20) DEFAULT NULL COMMENT '手机号',
|
||||||
`avatar` varchar(255) DEFAULT NULL COMMENT '头像',
|
`avatar` varchar(255) DEFAULT NULL COMMENT '头像',
|
||||||
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:0禁用,1正常',
|
`status` tinyint(1) DEFAULT 1 COMMENT '状态:0禁用,1正常',
|
||||||
`is_super` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否为超级管理员:1是,0否',
|
`is_super` tinyint(1) DEFAULT 0 COMMENT '是否为超级管理员:1是,0否',
|
||||||
`last_login_ip` varchar(50) DEFAULT NULL COMMENT '上次登录IP',
|
`last_login_ip` varchar(50) DEFAULT NULL COMMENT '上次登录IP',
|
||||||
`last_login_time` datetime DEFAULT NULL COMMENT '上次登录时间',
|
`last_login_time` datetime DEFAULT NULL COMMENT '上次登录时间',
|
||||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
|
`deleted` tinyint(1) DEFAULT 0 COMMENT '是否删除:0未删除,1已删除',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `uk_username` (`username`)
|
UNIQUE KEY `uk_username` (`username`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='后台管理员表';
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='后台管理员表';
|
||||||
|
|
||||||
-- 创建客户表
|
-- 创建customer表
|
||||||
CREATE TABLE `customer` (
|
CREATE TABLE IF NOT EXISTS `customer` (
|
||||||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
`openid` varchar(100) DEFAULT NULL COMMENT '微信openid',
|
`openid` varchar(100) DEFAULT NULL COMMENT '微信openid',
|
||||||
`session_key` varchar(100) DEFAULT NULL COMMENT '微信会话密钥(可选存储)',
|
`session_key` varchar(100) DEFAULT NULL COMMENT '微信会话密钥(可选存储)',
|
||||||
`unionid` varchar(100) DEFAULT NULL COMMENT '微信unionid(如果获取到)',
|
`unionid` varchar(100) DEFAULT NULL COMMENT '微信unionid(如果获取到)',
|
||||||
`username` varchar(50) DEFAULT NULL COMMENT '用户名',
|
`username` varchar(50) DEFAULT NULL COMMENT '用户名',
|
||||||
`password` varchar(100) DEFAULT NULL COMMENT '密码',
|
`password` varchar(100) DEFAULT NULL COMMENT '密码',
|
||||||
`nickname` varchar(50) DEFAULT NULL COMMENT '用户昵称',
|
`nickname` varchar(50) DEFAULT NULL COMMENT '用户昵称',
|
||||||
`avatar_url` varchar(255) DEFAULT NULL COMMENT '头像URL',
|
`avatar` varchar(255) DEFAULT NULL COMMENT '头像URL',
|
||||||
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
|
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
|
||||||
`phone` varchar(20) DEFAULT NULL COMMENT '手机号(后续绑定时)',
|
`phone` varchar(20) DEFAULT NULL COMMENT '手机号(后续绑定时)',
|
||||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
`sex` varchar(10) DEFAULT NULL COMMENT '性别',
|
||||||
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
`points` int(11) DEFAULT 0 COMMENT '积分',
|
||||||
`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
|
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` tinyint(1) DEFAULT 0 COMMENT '是否删除:0未删除,1已删除',
|
||||||
PRIMARY KEY (`id`),
|
PRIMARY KEY (`id`),
|
||||||
UNIQUE KEY `uk_openid` (`openid`),
|
UNIQUE KEY `uk_openid` (`openid`)
|
||||||
UNIQUE KEY `uk_username` (`username`)
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户表';
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='客户表';
|
|
||||||
|
|
||||||
-- 插入初始管理员数据(密码为 admin123,实际应用中应该使用加密后的密码)
|
-- 初始化超级管理员账号
|
||||||
INSERT INTO `admin` (`username`, `password`, `real_name`, `email`, `phone`, `avatar`, `status`, `is_super`, `create_time`, `update_time`)
|
INSERT INTO `admin` (`username`, `password`, `nickname`, `is_super`, `status`)
|
||||||
VALUES ('admin', '$2a$10$X/XuYqF.zhAy5GYlWw0QHO3KzQRw.1p.9FyQ4jqEPVMbZGNi3YKLi', '超级管理员', 'admin@example.com', '13800138000', 'https://example.com/avatar/default.png', 1, 1, NOW(), NOW());
|
VALUES ('admin', 'e10adc3949ba59abbe56e057f20f883e', '超级管理员', 1, 1)
|
||||||
|
ON DUPLICATE KEY UPDATE `id` = `id`;
|
||||||
-- 插入测试管理员数据
|
|
||||||
INSERT INTO `admin` (`username`, `password`, `real_name`, `email`, `phone`, `avatar`, `status`, `is_super`, `create_time`, `update_time`)
|
|
||||||
VALUES ('test', '$2a$10$X/XuYqF.zhAy5GYlWw0QHO3KzQRw.1p.9FyQ4jqEPVMbZGNi3YKLi', '测试管理员', 'test@example.com', '13900139000', 'https://example.com/avatar/test.png', 1, 0, NOW(), NOW());
|
|
||||||
|
|
||||||
-- 插入示例客户数据
|
|
||||||
INSERT INTO `customer` (`openid`, `session_key`, `username`, `nickname`, `avatar_url`, `email`, `phone`, `create_time`, `update_time`)
|
|
||||||
VALUES ('wx_openid_123456', 'session_key_123', 'customer1', '张三', 'https://example.com/avatar/customer1.png', 'customer1@example.com', '13700137000', NOW(), NOW());
|
|
||||||
|
|
||||||
INSERT INTO `customer` (`openid`, `session_key`, `username`, `nickname`, `avatar_url`, `email`, `phone`, `create_time`, `update_time`)
|
|
||||||
VALUES ('wx_openid_234567', 'session_key_234', 'customer2', '李四', 'https://example.com/avatar/customer2.png', 'customer2@example.com', '13700137001', NOW(), NOW());
|
|
||||||
|
|
||||||
INSERT INTO `customer` (`openid`, `session_key`, `username`, `nickname`, `avatar_url`, `email`, `phone`, `create_time`, `update_time`)
|
|
||||||
VALUES ('wx_openid_345678', 'session_key_345', 'customer3', '王五', 'https://example.com/avatar/customer3.png', 'customer3@example.com', '13700137002', NOW(), NOW());
|
|
||||||
|
|
||||||
-- 注意:实际应用中,密码应该使用BCrypt或其他安全的哈希算法进行加密存储
|
|
||||||
-- 上面示例中的密码是BCrypt加密后的字符串,原始密码为 admin123
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue