commit
This commit is contained in:
92
SEED_README.md
Normal file
92
SEED_README.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# Seed Scripts for Employees
|
||||
|
||||
ไฟล์สำหรับ seed พนักงานจาก CSV
|
||||
|
||||
## ไฟล์ที่สร้างขึ้น
|
||||
|
||||
### 1. `src/db/seed-branches.ts`
|
||||
|
||||
สร้าง branches ที่จำเป็นต้องใช้กับพนักงานจาก CSV
|
||||
|
||||
### 2. `src/db/seed-emp.ts`
|
||||
|
||||
อ่านพนักงานจากไฟล์ `alla-emp.csv` และ seed เข้า database
|
||||
|
||||
## วิธีใช้งาน
|
||||
|
||||
### ขั้นตอนที่ 1: Seed Branches
|
||||
|
||||
```bash
|
||||
npx tsx src/db/seed-branches.ts
|
||||
```
|
||||
|
||||
สคริปต์นี้จะสร้าง 3 สาขาที่ตรงกับ branch_id ใน CSV:
|
||||
|
||||
- `b6722de8-562b-4d51-8ad2-1f6df826a772` - สาขาหลัก (ที่ 1)
|
||||
- `c76ce8ec-6062-4e48-9d22-0aaaa6be79b2` - สาขาหลัก (ที่ 2)
|
||||
- `8724a231-108b-4c74-a778-0eafd282edd4` - สาขาหลัก (ที่ 3)
|
||||
|
||||
### ขั้นตอนที่ 2: Seed Employees
|
||||
|
||||
```bash
|
||||
npx tsx src/db/seed-emp.ts
|
||||
```
|
||||
|
||||
สคริปต์นี้จะ:
|
||||
|
||||
- อ่านไฟล์ `alla-emp.csv` จาก project root
|
||||
- ตรวจสอบว่าทุก branch_id มีอยู่ใน database หรือไม่
|
||||
- ตรวจสอบพนักงานที่มีอยู่แล้ว (เพื่อหลีกเลี่ยง duplicate)
|
||||
- Insert พนักงานใหม่เป็น batch 50 คนต่อครั้ง
|
||||
- แสดงรายงานผล
|
||||
|
||||
## ข้อมูลใน CSV
|
||||
|
||||
ไฟล์ `alla-emp.csv` มีโครงสร้างดังนี้:
|
||||
|
||||
```
|
||||
id,employee_id,name,branch_id,pin
|
||||
```
|
||||
|
||||
- `id`: UUID ของพนักงาน
|
||||
- `employee_id`: รหัสพนักงาน (เช่น 00001, 01756, etc.)
|
||||
- `name`: ชื่อพนักงาน
|
||||
- `branch_id`: UUID ของสาขา
|
||||
- `pin`: PIN hash (SHA-256)
|
||||
|
||||
## ข้อมูลสรุป
|
||||
|
||||
- จำนวนพนักงานทั้งหมด: **424 คน**
|
||||
- จำนวนสาขา: **3 สาขา**
|
||||
- PIN เริ่มต้น: ทุกคนใช้ PIN เดียวกัน (hash ของ "1234")
|
||||
|
||||
## การจัดการข้อผิดพลาด
|
||||
|
||||
### กรณีไม่พบไฟล์ CSV
|
||||
|
||||
```
|
||||
❌ CSV file not found: .../alla-emp.csv
|
||||
Please make sure alla-emp.csv is in the project root directory.
|
||||
```
|
||||
|
||||
### กรณีไม่พบ Branch
|
||||
|
||||
```
|
||||
❌ Missing branches in database:
|
||||
- b6722de8-562b-4d51-8ad2-1f6df826a772
|
||||
...
|
||||
❌ Please run seed.ts first to create branches, or add the missing branches manually.
|
||||
```
|
||||
|
||||
## การใช้งานซ้ำ
|
||||
|
||||
หาก run `seed-emp.ts` ซ้ำ:
|
||||
|
||||
- จะข้ามพนักงานที่มีอยู่แล้ว (based on ID)
|
||||
- เพิ่มเฉพาะพนักงานใหม่ที่ยังไม่มีใน database
|
||||
|
||||
## หมายเหตุ
|
||||
|
||||
- สคริปต์เหล่านี้แยกจาก `seed.ts` ดั้งเดิม
|
||||
- สามารถใช้ร่วมกับ `seed.ts` หรือแยกอิสระก็ได้
|
||||
- ไม่มีผลกระทบกับข้อมูล candidates, votes, หรือ settings
|
||||
Reference in New Issue
Block a user