Files
all-in-one-sys/scripts/database-setup.sql
KQL 61698639ef feat: 完成多多畅职就业服务平台核心功能开发
主要更新:
-  完成主题配色从暗色到亮蓝白配色的全面转换
-  实现高薪岗位页面及后端API集成
-  完成登录注册页面及认证系统
-  实现预招录确认功能
-  添加数据库管理和维护工具脚本
-  优化错误处理和用户体验

核心功能:
1. 首页 (index.html) - 3D地球、专业分类、过渡岗位
2. 高薪岗位页面 (high.html) - 岗位详情、预招录确认、成功案例
3. 登录注册 (auth.html) - 用户认证、专业分类选择
4. 后端API - RESTful接口,JWT认证,MySQL数据库

技术栈:
- 前端:Three.js, GSAP, 原生JavaScript
- 后端:Node.js, Express, MySQL
- 认证:JWT, bcrypt
- 样式:自定义CSS,响应式设计

数据库工具:
- kill-by-ids.js - 批量终止MySQL进程
- unlock-all-tables.js - 解锁数据库表
- init-db.js - 初始化数据库
- 其他管理脚本

🤖 Generated with Claude Code
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-22 15:40:55 +08:00

144 lines
7.0 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ========================================
-- 多多畅职平台 - 完整数据库初始化SQL脚本
-- ========================================
-- 使用说明:
-- 1. 在Navicat中使用root或管理员账号连接MySQL
-- 2. 打开此SQL文件点击"运行"执行整个脚本
-- 3. 执行完成后即可使用
-- ========================================
-- 创建数据库
CREATE DATABASE IF NOT EXISTS `ddcz_platform`
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
-- 使用数据库
USE `ddcz_platform`;
-- ========================================
-- 表1: users用户表
-- ========================================
CREATE TABLE IF NOT EXISTS `users` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` VARCHAR(50) NOT NULL COMMENT '用户名',
`password_hash` VARCHAR(255) NOT NULL COMMENT '密码哈希',
`email` VARCHAR(100) DEFAULT NULL COMMENT '邮箱',
`phone` VARCHAR(20) DEFAULT NULL COMMENT '手机号',
`role` ENUM('user', 'admin') NOT NULL DEFAULT 'user' COMMENT '用户角色',
`status` ENUM('active', 'inactive', 'banned') NOT NULL DEFAULT 'active' COMMENT '账号状态',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`last_login` TIMESTAMP NULL DEFAULT NULL COMMENT '最后登录时间',
PRIMARY KEY (`id`),
UNIQUE KEY `unique_username` (`username`),
UNIQUE KEY `unique_email` (`email`),
UNIQUE KEY `unique_phone` (`phone`),
KEY `idx_username` (`username`),
KEY `idx_email` (`email`),
KEY `idx_role` (`role`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
-- ========================================
-- 表2: user_profiles用户资料表
-- ========================================
CREATE TABLE IF NOT EXISTS `user_profiles` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '资料ID',
`user_id` INT NOT NULL COMMENT '用户ID',
`real_name` VARCHAR(50) DEFAULT NULL COMMENT '真实姓名',
`gender` ENUM('male', 'female', 'other') DEFAULT NULL COMMENT '性别',
`birth_date` DATE DEFAULT NULL COMMENT '出生日期',
`id_card` VARCHAR(18) DEFAULT NULL COMMENT '身份证号',
`education` VARCHAR(50) DEFAULT NULL COMMENT '学历',
`major` VARCHAR(100) DEFAULT NULL COMMENT '专业',
`school` VARCHAR(100) DEFAULT NULL COMMENT '学校',
`graduation_year` YEAR DEFAULT NULL COMMENT '毕业年份',
`city` VARCHAR(50) DEFAULT NULL COMMENT '所在城市',
`address` TEXT DEFAULT NULL COMMENT '详细地址',
`avatar_url` VARCHAR(255) DEFAULT NULL COMMENT '头像URL',
`resume_url` VARCHAR(255) DEFAULT NULL COMMENT '简历URL',
`self_intro` TEXT DEFAULT NULL COMMENT '自我介绍',
`skills` TEXT DEFAULT NULL COMMENT '技能标签JSON数组',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `unique_user_id` (`user_id`),
KEY `idx_user_id` (`user_id`),
CONSTRAINT `fk_profile_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户资料表';
-- ========================================
-- 表3: job_applications投递记录表
-- ========================================
CREATE TABLE IF NOT EXISTS `job_applications` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '投递记录ID',
`user_id` INT NOT NULL COMMENT '用户ID',
`job_type` ENUM('transition', 'referral') NOT NULL COMMENT '岗位类型transition-过渡岗位, referral-内推岗位',
`job_name` VARCHAR(100) NOT NULL COMMENT '岗位名称',
`company_name` VARCHAR(100) NOT NULL COMMENT '企业名称',
`company_short_name` VARCHAR(50) DEFAULT NULL COMMENT '企业简称',
`city` VARCHAR(50) DEFAULT NULL COMMENT '城市',
`province` VARCHAR(50) DEFAULT NULL COMMENT '省份',
`segment_name` VARCHAR(100) DEFAULT NULL COMMENT '业务板块名称',
`status` ENUM('pending', 'reviewing', 'interviewed', 'offered', 'rejected', 'withdrawn') NOT NULL DEFAULT 'pending' COMMENT '投递状态',
`application_data` JSON DEFAULT NULL COMMENT '投递详细数据岗位详情JSON',
`applied_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '投递时间',
`updated_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`notes` TEXT DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_job_type` (`job_type`),
KEY `idx_status` (`status`),
KEY `idx_applied_at` (`applied_at`),
CONSTRAINT `fk_application_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='投递记录表';
-- ========================================
-- 表4: favorites收藏表
-- ========================================
CREATE TABLE IF NOT EXISTS `favorites` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '收藏ID',
`user_id` INT NOT NULL COMMENT '用户ID',
`favorite_type` ENUM('company', 'job') NOT NULL COMMENT '收藏类型',
`company_name` VARCHAR(100) DEFAULT NULL COMMENT '企业名称',
`job_name` VARCHAR(100) DEFAULT NULL COMMENT '岗位名称',
`favorite_data` JSON DEFAULT NULL COMMENT '收藏详细数据',
`created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '收藏时间',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_type` (`favorite_type`),
UNIQUE KEY `unique_favorite` (`user_id`, `favorite_type`, `company_name`, `job_name`),
CONSTRAINT `fk_favorite_user` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='收藏表';
-- ========================================
-- 插入默认管理员账号
-- ========================================
-- 注意密码哈希需要在Node.js中生成
-- 默认密码admin123456
-- 这里使用bcrypt哈希后的值rounds=10
INSERT INTO `users` (`username`, `password_hash`, `email`, `role`, `status`)
VALUES (
'admin',
'$2a$10$YourBcryptHashWillBeGeneratedByNodeJS',
'admin@ddcz.com',
'admin',
'active'
) ON DUPLICATE KEY UPDATE `username` = `username`;
-- ========================================
-- 授予权限(如果需要)
-- ========================================
-- 如果您使用的是root账号创建的数据库需要给 ddcz_bitmap 授权
-- GRANT ALL PRIVILEGES ON `ddcz_platform`.* TO 'ddcz_bitmap'@'%';
-- FLUSH PRIVILEGES;
-- ========================================
-- 验证表创建
-- ========================================
SELECT '✅ 数据库创建完成!' AS message;
SHOW TABLES;
SELECT '✅ 以上是已创建的表' AS message;
-- 查看users表结构
DESC `users`;