connection success
This commit is contained in:
BIN
backend/.DS_Store
vendored
Normal file
BIN
backend/.DS_Store
vendored
Normal file
Binary file not shown.
@@ -43,6 +43,43 @@ mvn spring-boot:run -Dspring-boot.run.profiles=dev
|
||||
- MySQL: `sql/mysql-init.sql`
|
||||
- openGauss: `sql/opengauss-init.sql`
|
||||
|
||||
## 旧库升级
|
||||
|
||||
如果服务器数据库是按旧版脚本初始化的,需要先补齐下面这些字段,否则登录后的首页接口可能在查询用户、课表或成绩时直接报 500。
|
||||
|
||||
MySQL:
|
||||
|
||||
```sql
|
||||
ALTER TABLE portal_user
|
||||
ADD COLUMN last_school_student_id VARCHAR(64) NULL,
|
||||
ADD COLUMN last_school_semester VARCHAR(64) NULL;
|
||||
|
||||
ALTER TABLE portal_course
|
||||
ADD COLUMN semester VARCHAR(64) NULL,
|
||||
ADD COLUMN student_id VARCHAR(64) NULL;
|
||||
|
||||
ALTER TABLE portal_grade
|
||||
ADD COLUMN student_id VARCHAR(64) NULL;
|
||||
|
||||
CREATE INDEX idx_course_user_semester ON portal_course (user_id, semester, student_id);
|
||||
CREATE INDEX idx_grade_user_semester ON portal_grade (user_id, semester, student_id);
|
||||
```
|
||||
|
||||
openGauss:
|
||||
|
||||
```sql
|
||||
ALTER TABLE portal_user ADD COLUMN IF NOT EXISTS last_school_student_id VARCHAR(64);
|
||||
ALTER TABLE portal_user ADD COLUMN IF NOT EXISTS last_school_semester VARCHAR(64);
|
||||
|
||||
ALTER TABLE portal_course ADD COLUMN IF NOT EXISTS semester VARCHAR(64);
|
||||
ALTER TABLE portal_course ADD COLUMN IF NOT EXISTS student_id VARCHAR(64);
|
||||
|
||||
ALTER TABLE portal_grade ADD COLUMN IF NOT EXISTS student_id VARCHAR(64);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_course_user_semester ON portal_course (user_id, semester, student_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_grade_user_semester ON portal_grade (user_id, semester, student_id);
|
||||
```
|
||||
|
||||
## 主要接口
|
||||
|
||||
- `POST /api/auth/register`
|
||||
|
||||
@@ -7,6 +7,8 @@ CREATE TABLE IF NOT EXISTS portal_user (
|
||||
email VARCHAR(128) NOT NULL,
|
||||
password_hash VARCHAR(255) NOT NULL,
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
last_school_student_id VARCHAR(64),
|
||||
last_school_semester VARCHAR(64),
|
||||
CONSTRAINT uk_portal_user_username UNIQUE (username),
|
||||
CONSTRAINT uk_portal_user_email UNIQUE (email)
|
||||
);
|
||||
@@ -29,6 +31,8 @@ CREATE TABLE IF NOT EXISTS portal_course (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||||
user_id BIGINT NOT NULL,
|
||||
course_name VARCHAR(255) NOT NULL,
|
||||
semester VARCHAR(64),
|
||||
student_id VARCHAR(64),
|
||||
teacher VARCHAR(255),
|
||||
classroom VARCHAR(255),
|
||||
day_of_week INT,
|
||||
@@ -44,11 +48,14 @@ CREATE TABLE IF NOT EXISTS portal_grade (
|
||||
course_name VARCHAR(255) NOT NULL,
|
||||
grade DOUBLE NOT NULL,
|
||||
semester VARCHAR(64) NOT NULL,
|
||||
student_id VARCHAR(64),
|
||||
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
CONSTRAINT fk_portal_grade_user FOREIGN KEY (user_id) REFERENCES portal_user (id)
|
||||
);
|
||||
|
||||
CREATE INDEX idx_user_created_at ON portal_user (created_at);
|
||||
CREATE INDEX idx_file_created_at ON portal_file (created_at);
|
||||
CREATE INDEX idx_course_user_semester ON portal_course (user_id, semester, student_id);
|
||||
CREATE INDEX idx_course_user_created ON portal_course (user_id, created_at);
|
||||
CREATE INDEX idx_grade_user_semester ON portal_grade (user_id, semester, student_id);
|
||||
CREATE INDEX idx_grade_user_created ON portal_grade (user_id, created_at);
|
||||
|
||||
@@ -3,7 +3,9 @@ CREATE TABLE IF NOT EXISTS portal_user (
|
||||
username VARCHAR(64) NOT NULL UNIQUE,
|
||||
email VARCHAR(128) NOT NULL UNIQUE,
|
||||
password_hash VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
last_school_student_id VARCHAR(64),
|
||||
last_school_semester VARCHAR(64)
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS portal_file (
|
||||
@@ -23,6 +25,8 @@ CREATE TABLE IF NOT EXISTS portal_course (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
user_id BIGINT NOT NULL REFERENCES portal_user (id),
|
||||
course_name VARCHAR(255) NOT NULL,
|
||||
semester VARCHAR(64),
|
||||
student_id VARCHAR(64),
|
||||
teacher VARCHAR(255),
|
||||
classroom VARCHAR(255),
|
||||
day_of_week INTEGER,
|
||||
@@ -37,10 +41,13 @@ CREATE TABLE IF NOT EXISTS portal_grade (
|
||||
course_name VARCHAR(255) NOT NULL,
|
||||
grade DOUBLE PRECISION NOT NULL,
|
||||
semester VARCHAR(64) NOT NULL,
|
||||
student_id VARCHAR(64),
|
||||
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_user_created_at ON portal_user (created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_file_created_at ON portal_file (created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_course_user_semester ON portal_course (user_id, semester, student_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_course_user_created ON portal_course (user_id, created_at);
|
||||
CREATE INDEX IF NOT EXISTS idx_grade_user_semester ON portal_grade (user_id, semester, student_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_grade_user_created ON portal_grade (user_id, created_at);
|
||||
|
||||
BIN
backend/src/.DS_Store
vendored
Normal file
BIN
backend/src/.DS_Store
vendored
Normal file
Binary file not shown.
Reference in New Issue
Block a user