后端第一步开发完成,第一版回归测试完成

This commit is contained in:
Your Name
2026-01-31 19:09:48 +08:00
parent 11cef531bd
commit c9e75030af
26 changed files with 1686 additions and 184 deletions
+79
View File
@@ -0,0 +1,79 @@
# 脚本说明
## seed_test_users.py:插入测试用户(供测试工程师使用)
`users` 表插入 6 个测试账号(管理员、市场部、工程部、技经部、财务部、物贸部各一),**统一密码:123456**。
**用法**
```bash
cd backend
source .venv/bin/activate
PYTHONPATH=src python scripts/seed_test_users.py
```
**测试账号**
| 账号 (username) | 角色 | 密码 |
|-----------------|----------|--------|
| admin | 管理员 | 123456 |
| market | 市场部 | 123456 |
| engineer | 工程部 | 123456 |
| tech | 技经部 | 123456 |
| finance | 财务部 | 123456 |
| material | 物贸部 | 123456 |
(新建项目仅市场部可调,其他角色可查看/修改。)
---
## clean_db.py:清空项目与操作日志表
清空 `projects``operation_logs` 表(保留 `users`)。用于重新导入前清理数据。
**用法**
```bash
cd backend
source .venv/bin/activate
PYTHONPATH=src python scripts/clean_db.py
```
**清理并重新导入(一条命令)**
```bash
cd backend && source .venv/bin/activate && PYTHONPATH=src python scripts/clean_db.py && PYTHONPATH=src python scripts/import_xls.py ../docs/example.xls
```
---
## import_xls.py:导入 example.xls 到 projects 表
`docs/example.xls` 中的项目数据导入 ocean 数据库的 `projects` 表。
**前置条件**
1. 已执行 `schema.sql` 创建数据库和表。
2. 已配置 `.env`MySQL 连接信息)。
3. 已安装依赖:`pip install -r requirements.txt`(含 mysql-connector-python、xlrd)。
**用法**
```bash
cd backend
source .venv/bin/activate
PYTHONPATH=src python scripts/import_xls.py
```
默认读取 `../docs/example.xls`(相对 backend)。也可指定路径:
```bash
PYTHONPATH=src python scripts/import_xls.py /path/to/example.xls
```
**说明**
- 使用第一个 Sheet;表头为第 3 行(row 2),数据从第 6 行(row 5)开始。
- 仅导入「合同编号」非空的行;若「项目名称」为空则用合同编号或「未命名」。
- 表头与 `schema.sql``初始需求` 对齐(含「其中:」等前缀的列已映射)。
- 导入成功后输出:成功条数、跳过条数。