Files
ocean/backend/scripts/README.md
T

80 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 脚本说明
## 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``初始需求` 对齐(含「其中:」等前缀的列已映射)。
- 导入成功后输出:成功条数、跳过条数。