## 前后端数据库状态说明 **更新日期**: 2025-09-16 ### 概要 - 数据库已落地:已在远程 MySQL `mysql.tonaspace.com` 的 `partsinquiry` 库完成初始化(表结构与触发器已创建)。 - 已生成根目录文档:`/doc/database_documentation.md` 已同步线上结构(字段、索引、外键、触发器)。 - 后端代码仍未配置数据源依赖与连接,前端无本地结构化存储方案。 ### 已建库与连接信息(用于部署/联调) - Address: `mysql.tonaspace.com` - Database: `partsinquiry` - User: `root` - 说明:所有结构变更均通过 MysqlMCP 执行并已落地到线上库。 ### 角色与模拟数据策略(统一为店长) - 当前不进行角色划分,系统仅保留“店长”角色。 - 已将所有用户记录统一为:`role='owner'`、`is_owner=1`。 - 前端/后端权限逻辑暂未启用,后续若引入权限体系,再行扩展角色与边界。 ### 小程序默认用户(可开关,默认关闭) - 目的:开发/演示阶段,便于免登录联调。 - 机制:前端在请求头附加 `X-User-Id`(值为张老板 id=2),仅当开关开启时。 - 开关: - 环境变量:`VITE_APP_ENABLE_DEFAULT_USER=true` 与 `VITE_APP_DEFAULT_USER_ID=2` - 或本地存储:`ENABLE_DEFAULT_USER=true` 与 `DEFAULT_USER_ID=2` - 关闭:不设置/置为 `false` 即可停用(生产环境默认关闭)。 - 完全移除:删除 `frontend/common/config.js` 中默认用户配置与 `frontend/common/http.js` 中注入逻辑。 ### 后端(Spring Boot)数据库状态 - 依赖:`pom.xml` 未包含 `spring-boot-starter-web`、`spring-boot-starter-data-jpa`、`mysql-connector-j` 等数据库相关依赖。 - 配置:`src/main/resources/application.properties` 仅有 `spring.application.name=demo`;未配置 `spring.datasource.*`、`spring.jpa.*`。 - 数据模型:`src/main/java` 未发现 `@Entity`、Repository、Service;存在 `backend/db/db.sql` 脚本,已执行至远程库。 - 迁移:未发现 Flyway/Liquibase 配置与脚本(当前通过 MysqlMCP 手工执行)。 - 结论:数据库已初始化,但后端未配置运行时数据源与接口,暂不可用。 ### 前端(uni-app)数据库状态 - 数据持久化:未见 IndexedDB/WebSQL/SQLite/云数据库使用;页面数据为内置静态数据。 - 本地存储:未见 `uni.setStorage`/`uni.getStorage` 的集中封装或结构化键空间设计。 - 结论:前端当前不涉及本地数据库或结构化存储方案。 ### 风险与影响 - 后端未配置数据源与接口,应用无法读写远端库(虽已建表)。 - 无接口契约,前后端仍无法联调涉及数据库的功能。 ### 建议的后续行动(不自动执行) - 在后端引入依赖:`spring-boot-starter-web`、`spring-boot-starter-data-jpa`、`mysql-connector-j`。 - 配置数据源:使用环境变量注入 `SPRING_DATASOURCE_URL`、`SPRING_DATASOURCE_USERNAME`、`SPRING_DATASOURCE_PASSWORD` 等,指向上述远程库。 - 引入迁移工具(Flyway/Liquibase)管理 DDL;后续所有变更继续通过 MysqlMCP 执行,并同步 `/doc/database_documentation.md`。 - 增加健康检查与基础 CRUD 接口;在 `/doc/openapi.yaml` 按规范登记并标注实现状态(❌/✅)。