131 lines
3.7 KiB
Markdown
131 lines
3.7 KiB
Markdown
# 设备管理命令文档
|
||
|
||
本文档描述了用于设备管理的Django自定义命令。这些命令用于批量创建测试设备和清理测试设备数据。
|
||
|
||
## 环境准备
|
||
|
||
在执行命令前,请先切换到正确的Conda环境:
|
||
|
||
```bash
|
||
conda activate lty
|
||
```
|
||
|
||
## 创建测试设备
|
||
|
||
### 命令名称
|
||
|
||
`create_test_devices`
|
||
|
||
### 功能描述
|
||
|
||
批量创建测试用设备数据,包括设备类型、批次和设备。每个设备都有唯一的设备码和MAC地址。
|
||
|
||
### 参数选项
|
||
|
||
| 参数 | 类型 | 默认值 | 说明 |
|
||
|------|------|--------|------|
|
||
| `--type-count` | 整数 | 3 | 要创建的设备类型数量 |
|
||
| `--batch-count` | 整数 | 2 | 每种设备类型的批次数量 |
|
||
| `--device-count` | 整数 | 10 | 每个批次的设备数量 |
|
||
|
||
### 使用示例
|
||
|
||
1. 使用默认参数创建测试设备:
|
||
|
||
```bash
|
||
python manage.py create_test_devices
|
||
```
|
||
|
||
这将创建3种设备类型,每种2个批次,每个批次10台设备,总共60台设备。
|
||
|
||
2. 自定义数量创建测试设备:
|
||
|
||
```bash
|
||
python manage.py create_test_devices --type-count=2 --batch-count=3 --device-count=5
|
||
```
|
||
|
||
这将创建2种设备类型,每种3个批次,每个批次5台设备,总共30台设备。
|
||
|
||
### 输出说明
|
||
|
||
命令执行过程中会显示创建的每个设备的信息,包括:
|
||
- 设备类型名称和代码
|
||
- 批次编号
|
||
- 设备的序列号和MAC地址
|
||
- 设备码(自动生成,格式为:类型代码-批次号-序列号)
|
||
|
||
执行结束后会显示创建的总数据量统计。
|
||
|
||
## 清理测试设备
|
||
|
||
### 命令名称
|
||
|
||
`clean_test_devices`
|
||
|
||
### 功能描述
|
||
|
||
清理数据库中的测试设备数据,可以选择只清理测试设备或清理所有设备数据。
|
||
|
||
### 参数选项
|
||
|
||
| 参数 | 类型 | 默认值 | 说明 |
|
||
|------|------|--------|------|
|
||
| `--test-only` | 标志 | - | 只清理名称中包含"测试"的设备数据 |
|
||
| `--all` | 标志 | - | 清理所有设备数据(慎用) |
|
||
| `--force` | 标志 | - | 强制删除,不提示确认 |
|
||
|
||
### 使用示例
|
||
|
||
1. 清理所有测试设备数据(会提示确认):
|
||
|
||
```bash
|
||
python manage.py clean_test_devices --test-only
|
||
```
|
||
|
||
2. 清理所有设备数据(会提示确认):
|
||
|
||
```bash
|
||
python manage.py clean_test_devices --all
|
||
```
|
||
|
||
3. 强制清理测试设备数据(不提示确认):
|
||
|
||
```bash
|
||
python manage.py clean_test_devices --test-only --force
|
||
```
|
||
|
||
### 输出说明
|
||
|
||
命令执行过程中会显示删除的数据数量,包括:
|
||
- 用户设备关联记录数
|
||
- 设备数量
|
||
- 批次数量
|
||
- 设备类型数量
|
||
|
||
执行结束后会显示清理的总数据量统计。
|
||
|
||
## 数据结构说明
|
||
|
||
创建的测试数据结构如下:
|
||
|
||
1. **设备类型(DeviceType)**
|
||
- 名称格式:测试设备类型-{序号}
|
||
- 代码格式:T{序号:02d}(例如:T01, T02, ...)
|
||
- 每个类型有唯一的名称和代码
|
||
|
||
2. **设备批次(DeviceBatch)**
|
||
- 批次号格式:B{设备类型代码}{批次序号:02d}(例如:BT0101, BT0102, ...)
|
||
- 每个批次关联到特定设备类型
|
||
- 生产日期设为当前日期
|
||
|
||
3. **设备(Device)**
|
||
- 序列号格式:{序号:05d}(例如:00001, 00002, ...)
|
||
- MAC地址:随机生成的唯一地址
|
||
- 设备码格式:{类型代码}-{批次号}-{序列号}(例如:T01-BT0101-00001)
|
||
- 初始状态设为未激活(is_active=False)
|
||
|
||
## 注意事项
|
||
|
||
1. 创建测试设备前,建议先清理之前的测试数据,避免重复数据冲突
|
||
2. 使用 `--all` 参数清理设备数据时请谨慎,这将删除所有设备相关数据
|
||
3. 测试设备可用于开发和测试环境,不建议在生产环境中使用 |