Files
innovation-platform/backend/target/classes/schema.sql

134 lines
4.4 KiB
MySQL
Raw Normal View History

-- 创建用户表
CREATE TABLE IF NOT EXISTS sys_user (
id BIGINT NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(100) NOT NULL,
real_name VARCHAR(50) NOT NULL,
gender TINYINT DEFAULT 0,
phone VARCHAR(20) DEFAULT NULL,
email VARCHAR(100) DEFAULT NULL,
avatar VARCHAR(255) DEFAULT NULL,
status TINYINT DEFAULT 1,
role_type TINYINT NOT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
create_by BIGINT DEFAULT NULL,
update_by BIGINT DEFAULT NULL,
deleted TINYINT DEFAULT 0,
PRIMARY KEY (id),
UNIQUE KEY uk_username (username)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 创建学生信息表
CREATE TABLE IF NOT EXISTS stu_info (
id BIGINT NOT NULL AUTO_INCREMENT,
user_id BIGINT NOT NULL,
student_no VARCHAR(20) NOT NULL,
college VARCHAR(100) NOT NULL,
major VARCHAR(100) NOT NULL,
grade VARCHAR(10) NOT NULL,
class_name VARCHAR(50) DEFAULT NULL,
advisor_id BIGINT DEFAULT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
deleted TINYINT DEFAULT 0,
PRIMARY KEY (id),
UNIQUE KEY uk_student_no (student_no),
UNIQUE KEY uk_user_id (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 创建教师信息表
CREATE TABLE IF NOT EXISTS teacher_info (
id BIGINT NOT NULL AUTO_INCREMENT,
user_id BIGINT NOT NULL,
teacher_no VARCHAR(20) NOT NULL,
college VARCHAR(100) NOT NULL,
title VARCHAR(50) DEFAULT NULL,
research_field VARCHAR(255) DEFAULT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
deleted TINYINT DEFAULT 0,
PRIMARY KEY (id),
UNIQUE KEY uk_teacher_no (teacher_no),
UNIQUE KEY uk_user_id (user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 创建项目表
CREATE TABLE IF NOT EXISTS project (
id BIGINT NOT NULL AUTO_INCREMENT,
project_no VARCHAR(30) NOT NULL,
project_name VARCHAR(200) NOT NULL,
project_type TINYINT NOT NULL,
project_level TINYINT NOT NULL,
leader_id BIGINT NOT NULL,
advisor_id BIGINT NOT NULL,
description TEXT,
research_plan TEXT,
expected_result TEXT,
budget DECIMAL(10,2) DEFAULT 0.00,
status TINYINT DEFAULT 1,
start_time DATE DEFAULT NULL,
end_time DATE DEFAULT NULL,
college VARCHAR(100) DEFAULT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
create_by BIGINT DEFAULT NULL,
update_by BIGINT DEFAULT NULL,
deleted TINYINT DEFAULT 0,
PRIMARY KEY (id),
UNIQUE KEY uk_project_no (project_no)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 创建项目成员表
CREATE TABLE IF NOT EXISTS project_member (
id BIGINT NOT NULL AUTO_INCREMENT,
project_id BIGINT NOT NULL,
user_id BIGINT NOT NULL,
member_order INT DEFAULT 1,
role TINYINT DEFAULT 1,
join_time DATETIME DEFAULT CURRENT_TIMESTAMP,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
deleted TINYINT DEFAULT 0,
PRIMARY KEY (id),
UNIQUE KEY uk_project_user (project_id, user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 创建成果表
CREATE TABLE IF NOT EXISTS achievement (
id BIGINT NOT NULL AUTO_INCREMENT,
project_id BIGINT NOT NULL,
achievement_type TINYINT NOT NULL,
achievement_name VARCHAR(200) NOT NULL,
achievement_level TINYINT DEFAULT NULL,
author_names VARCHAR(500) DEFAULT NULL,
publish_time DATE DEFAULT NULL,
publish_org VARCHAR(200) DEFAULT NULL,
description TEXT,
status TINYINT DEFAULT 1,
auditor_id BIGINT DEFAULT NULL,
audit_time DATETIME DEFAULT NULL,
audit_opinion VARCHAR(500) DEFAULT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
create_by BIGINT DEFAULT NULL,
deleted TINYINT DEFAULT 0,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- 创建评审表
CREATE TABLE IF NOT EXISTS review (
id BIGINT NOT NULL AUTO_INCREMENT,
project_id BIGINT NOT NULL,
reviewer_id BIGINT NOT NULL,
review_type TINYINT NOT NULL,
score DECIMAL(5,1) DEFAULT NULL,
opinion TEXT,
result TINYINT DEFAULT NULL,
status TINYINT DEFAULT 1,
review_time DATETIME DEFAULT NULL,
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
deleted TINYINT DEFAULT 0,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;