diff --git a/docs/开发协作指南.md b/docs/开发协作指南.md index 1c67360..8e15b9d 100644 --- a/docs/开发协作指南.md +++ b/docs/开发协作指南.md @@ -15,6 +15,21 @@ | **接口文档** | http://8.148.151.56:3002/doc.html | | **代码仓库** | http://8.148.151.56:3000/tonytech/kindergarten_java | +### 共享数据库(开发服务器) + +> 本地开发和服务器**共用同一个数据库**,数据实时同步。 + +| 项目 | 值 | +|---|---| +| **Host** | `8.148.151.56` | +| **Port** | `3306` | +| **数据库名** | `reading_platform` | +| **用户名** | `root` | +| **密码** | `reading_platform_pwd` | +| **JDBC URL** | `jdbc:mysql://8.148.151.56:3306/reading_platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true` | + +用 DBeaver / Navicat / TablePlus 等 GUI 工具填入以上信息即可直连查看数据。 + ### 测试账号 | 角色 | 账号 | 密码 | @@ -99,23 +114,33 @@ kindergarten_java/ ### 开发环境要求 -- Java 17+(`java -version` 验证) -- Maven 3.8+(`mvn -version` 验证) -- MySQL 8.0(或 Docker 启动) -- IDE:IntelliJ IDEA(推荐) +- Docker Desktop(必须,用于本地启动服务) +- IDE:IntelliJ IDEA(推荐,用于编写 Java 代码) +- Java 17+ / Maven 3.8+(可选,仅在需要 IDE 内直接运行时安装) -### 本地启动 +### 本地启动(推荐:Docker Compose) ```bash -cd reading-platform-java - -# 用 dev 配置(连本地 MySQL) -mvn spring-boot:run -Dspring-boot.run.profiles=dev +# 在项目根目录执行 +git pull origin main +docker compose up --build ``` -启动后访问: -- 接口文档:http://localhost:8080/doc.html -- OpenAPI 数据:http://localhost:8080/v3/api-docs +启动完成后(约 2-3 分钟,看到 `Started ReadingPlatformApplication` 日志)访问: +- 本地前端:http://localhost:3000 +- 本地接口文档:http://localhost:8080/doc.html + +> **数据库说明**:本地后端直接连接开发服务器的共享数据库(`8.148.151.56:3306`), +> 本地和服务器数据完全同步,在本地创建的数据在服务器也能看到,反之亦然。 + +> **注意**:本地 Flyway 自动迁移已关闭(`SPRING_FLYWAY_ENABLED=false`)。 +> 需要新增数据库字段时,先在本地写好 SQL 脚本,提交代码后由**服务器**自动执行迁移。 + +### 仅启动后端(不重新构建前端) + +```bash +docker compose up --build backend +``` ### 新增或修改接口 @@ -386,8 +411,9 @@ git push origin main ``` **Q:本地启动后端报数据库连接失败** -- 确认本地 MySQL 已启动 -- 检查 `application-dev.yml` 中数据库账号密码是否正确 +- 确认能访问开发服务器:`ping 8.148.151.56` +- 确认开发服务器 MySQL 容器正在运行(联系管理员) +- 检查 `docker-compose.yml` 中数据库地址和密码是否正确 **Q:运行 `npm run api:update` 报错** - 确认服务器后端正在运行(http://8.148.151.56:3002 可访问)