70 lines
1.8 KiB
Markdown
70 lines
1.8 KiB
Markdown
# MySQL 查询练习网站
|
||
|
||
一个面向新手/一般/进阶的 MySQL 查询练习网站:
|
||
- 登录注册
|
||
- 首次引导(填姓名/选模块/经验/选择模拟库或导入库)
|
||
- 题库分级、在线运行 SQL、判题与进度保存
|
||
- 支持模拟数据库(内置电商库/人事库)与导入自定义数据库(上传初始化 SQL)
|
||
|
||
## 运行方式(本地开发)
|
||
|
||
### 1) 启动 MySQL(Docker)
|
||
在项目根目录执行:
|
||
```bash
|
||
docker compose up -d
|
||
```
|
||
|
||
默认连接信息:
|
||
- Host: `127.0.0.1`
|
||
- Port: `3306`
|
||
- User: `root`
|
||
- Password: `root`
|
||
|
||
### 2) 启动后端(Go + Gin)
|
||
打开一个终端:
|
||
```bash
|
||
cd api
|
||
go run .
|
||
```
|
||
|
||
后端默认端口:`http://localhost:8080`
|
||
|
||
可选环境变量:
|
||
- `PORT`(默认 `8080`)
|
||
- `JWT_SECRET`(默认 `dev-secret`)
|
||
- `SQLITE_PATH`(默认 `./data/app.db`)
|
||
- `MYSQL_HOST` `MYSQL_PORT` `MYSQL_USER` `MYSQL_PASSWORD`
|
||
|
||
### 3) 启动前端(Vite + Vue3)
|
||
打开另一个终端:
|
||
```bash
|
||
pnpm install
|
||
pnpm run dev
|
||
```
|
||
|
||
前端会通过 Vite 代理把 `/api` 转发到 `http://localhost:8080`。
|
||
|
||
## 部署说明(生产)
|
||
|
||
当前仓库支持:
|
||
- 前端部署到 Vercel(静态站点)
|
||
- 后端+MySQL 用 Docker Compose 部署到一台服务器(或任意支持 Docker 的环境)
|
||
|
||
### 1) 后端+MySQL(Docker Compose)
|
||
在服务器上:
|
||
```bash
|
||
docker compose -f docker-compose.prod.yml up -d
|
||
```
|
||
|
||
默认会把后端暴露到 `http://<你的服务器>:8080`。
|
||
|
||
### 2) 前端(Vercel)
|
||
- 通过 Vercel 部署本仓库根目录(Vite 构建输出为 `dist`,配置见 `vercel.json`)
|
||
- 在 Vercel 项目环境变量中设置:
|
||
- `VITE_API_BASE_URL` = `http://<你的服务器>:8080`
|
||
|
||
## 常用命令
|
||
- `pnpm run check`:TypeScript 类型检查
|
||
- `pnpm run lint`:ESLint 检查
|
||
- `cd api && go test ./...`:后端单元测试
|