79 lines
2.1 KiB
Markdown
79 lines
2.1 KiB
Markdown
# PostgreSQL 数据库初始化文件
|
||||
|
|
|
|||
|
|
本目录包含数据库初始化和重置相关的 SQL 脚本。
|
|||
|
|
|
|||
|
|
## 📁 文件说明
|
|||
|
|
|
|||
|
|
### `data.sql` - 种子数据
|
|||
|
|
包含系统运行所需的基础数据:
|
|||
|
|
- 管理员账号 (admin / 123456)
|
|||
|
|
- 设备类型和设备配置
|
|||
|
|
- 产品类型和工艺路线
|
|||
|
|
- 接驳台槽位配置
|
|||
|
|
- Recipe(12步工艺路线)
|
|||
|
|
|
|||
|
|
### `reset.sql` - 重置数据
|
|||
|
|
清空工单、作业等运行时数据,恢复设备和槽位到初始状态。
|
|||
|
|
|
|||
|
|
### `INIT_DATABASE.md` - 详细初始化指南
|
|||
|
|
完整的数据库初始化步骤说明。
|
|||
|
|
|
|||
|
|
## 🚀 快速使用
|
|||
|
|
|
|||
|
|
### 方法 1: 使用自动化脚本 (推荐)
|
|||
|
|
|
|||
|
|
在项目根目录执行:
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
.\scripts\init-db.ps1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 方法 2: 手动执行
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
# 1. 创建数据库
|
|||
|
|
psql -U postgres -c "CREATE DATABASE back_cover;"
|
|||
|
|
|
|||
|
|
# 2. 启动应用以自动创建表结构
|
|||
|
|
go run hougai.go -f etc/hougai-api.yaml
|
|||
|
|
# 等待表创建完成后 Ctrl+C 停止
|
|||
|
|
|
|||
|
|
# 3. 插入种子数据
|
|||
|
|
psql -U postgres -d back_cover -f doc/data.sql
|
|||
|
|
|
|||
|
|
# 4. 重启应用
|
|||
|
|
go run hougai.go -f etc/hougai-api.yaml
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## ⚠️ 注意事项
|
|||
|
|
|
|||
|
|
1. **先建库后导入**: 必须先创建 `back_cover` 数据库,再导入 SQL
|
|||
|
|
2. **Ent ORM 自动建表**: 首次启动应用时,Ent 会自动创建所有表结构
|
|||
|
|
3. **种子数据只需导入一次**: 除非需要重置数据
|
|||
|
|
4. **密码哈希**: 管理员密码使用 bcrypt 加密,由 Go 代码的 `auth.HashPassword` 生成
|
|||
|
|
|
|||
|
|
## 🔄 重置运行时数据
|
|||
|
|
|
|||
|
|
如果需要清空工单和生产数据,但保留基础配置:
|
|||
|
|
|
|||
|
|
```powershell
|
|||
|
|
psql -U postgres -d back_cover -f doc/reset.sql
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
这会:
|
|||
|
|
- 删除所有 Job 和 WorkOrder
|
|||
|
|
- 重置所有设备和暂存台槽位为 EMPTY
|
|||
|
|
- 保留用户、设备、产品类型等基础配置
|
|||
|
|
|
|||
|
|
## 📊 默认数据概览
|
|||
|
|
|
|||
|
|
| 数据类型 | 数量 | 说明 |
|
|||
|
|
|---------|------|------|
|
|||
|
|
| 用户角色 | 1 | Admin |
|
|||
|
|
| 设备类型 | 9 | ROBOT, CNC, WASHER_HP 等 |
|
|||
|
|
| 设备 | 9 | CNC-1~4, 高压清洗机等 |
|
|||
|
|
| 设备槽位 | 27 | 各设备的加工槽位 |
|
|||
|
|
| 产品类型 | 5 | A6VM107/160/200 系列 |
|
|||
|
|
| Recipe 步骤 | 12 | 标准 12 步工艺路线 |
|
|||
|
|
| 接驳台槽位 | 90 | 10个接驳台 × 每台9槽 |
|