connection success

This commit is contained in:
yoyuzh
2026-03-17 17:06:29 +08:00
parent 033ac5bee4
commit 8b1b2ea48a
6 changed files with 52 additions and 1 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

BIN
backend/.DS_Store vendored Normal file

Binary file not shown.

View File

@@ -43,6 +43,43 @@ mvn spring-boot:run -Dspring-boot.run.profiles=dev
- MySQL: `sql/mysql-init.sql` - MySQL: `sql/mysql-init.sql`
- openGauss: `sql/opengauss-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` - `POST /api/auth/register`

View File

@@ -7,6 +7,8 @@ CREATE TABLE IF NOT EXISTS portal_user (
email VARCHAR(128) NOT NULL, email VARCHAR(128) NOT NULL,
password_hash VARCHAR(255) NOT NULL, password_hash VARCHAR(255) NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, 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_username UNIQUE (username),
CONSTRAINT uk_portal_user_email UNIQUE (email) CONSTRAINT uk_portal_user_email UNIQUE (email)
); );
@@ -29,6 +31,8 @@ CREATE TABLE IF NOT EXISTS portal_course (
id BIGINT PRIMARY KEY AUTO_INCREMENT, id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT NOT NULL, user_id BIGINT NOT NULL,
course_name VARCHAR(255) NOT NULL, course_name VARCHAR(255) NOT NULL,
semester VARCHAR(64),
student_id VARCHAR(64),
teacher VARCHAR(255), teacher VARCHAR(255),
classroom VARCHAR(255), classroom VARCHAR(255),
day_of_week INT, day_of_week INT,
@@ -44,11 +48,14 @@ CREATE TABLE IF NOT EXISTS portal_grade (
course_name VARCHAR(255) NOT NULL, course_name VARCHAR(255) NOT NULL,
grade DOUBLE NOT NULL, grade DOUBLE NOT NULL,
semester VARCHAR(64) NOT NULL, semester VARCHAR(64) NOT NULL,
student_id VARCHAR(64),
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT fk_portal_grade_user FOREIGN KEY (user_id) REFERENCES portal_user (id) 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_user_created_at ON portal_user (created_at);
CREATE INDEX idx_file_created_at ON portal_file (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_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); CREATE INDEX idx_grade_user_created ON portal_grade (user_id, created_at);

View File

@@ -3,7 +3,9 @@ CREATE TABLE IF NOT EXISTS portal_user (
username VARCHAR(64) NOT NULL UNIQUE, username VARCHAR(64) NOT NULL UNIQUE,
email VARCHAR(128) NOT NULL UNIQUE, email VARCHAR(128) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL, 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 ( CREATE TABLE IF NOT EXISTS portal_file (
@@ -23,6 +25,8 @@ CREATE TABLE IF NOT EXISTS portal_course (
id BIGSERIAL PRIMARY KEY, id BIGSERIAL PRIMARY KEY,
user_id BIGINT NOT NULL REFERENCES portal_user (id), user_id BIGINT NOT NULL REFERENCES portal_user (id),
course_name VARCHAR(255) NOT NULL, course_name VARCHAR(255) NOT NULL,
semester VARCHAR(64),
student_id VARCHAR(64),
teacher VARCHAR(255), teacher VARCHAR(255),
classroom VARCHAR(255), classroom VARCHAR(255),
day_of_week INTEGER, day_of_week INTEGER,
@@ -37,10 +41,13 @@ CREATE TABLE IF NOT EXISTS portal_grade (
course_name VARCHAR(255) NOT NULL, course_name VARCHAR(255) NOT NULL,
grade DOUBLE PRECISION NOT NULL, grade DOUBLE PRECISION NOT NULL,
semester VARCHAR(64) NOT NULL, semester VARCHAR(64) NOT NULL,
student_id VARCHAR(64),
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 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_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_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_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); CREATE INDEX IF NOT EXISTS idx_grade_user_created ON portal_grade (user_id, created_at);

BIN
backend/src/.DS_Store vendored Normal file

Binary file not shown.