Initial commit
This commit is contained in:
74
docs/ScriptEngine/DataPersistence.md
Normal file
74
docs/ScriptEngine/DataPersistence.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# Data Persistence / Lưu trữ Dữ liệu
|
||||
|
||||
## 📋 Overview / Tổng quan
|
||||
|
||||
ScriptEngine lưu trữ Mission instances và logs vào database để track execution history.
|
||||
|
||||
## 💾 Mission Instances
|
||||
|
||||
Missions được persist vào database:
|
||||
|
||||
```mermaid
|
||||
erDiagram
|
||||
MissionInstances {
|
||||
Guid Id PK
|
||||
string MissionName
|
||||
string Parameters
|
||||
int Status
|
||||
int CurrentScore
|
||||
int TotalScore
|
||||
DateTime StartedAt
|
||||
DateTime CompletedAt
|
||||
string ErrorMessage
|
||||
}
|
||||
|
||||
MissionInstances ||--o{ MissionLogs : has
|
||||
|
||||
MissionLogs {
|
||||
Guid Id PK
|
||||
Guid MissionInstanceId FK
|
||||
DateTime Timestamp
|
||||
int Score
|
||||
string Message
|
||||
}
|
||||
```
|
||||
|
||||
## 📊 Status Enum
|
||||
|
||||
- `0`: Running
|
||||
- `1`: Completed
|
||||
- `2`: Cancelled
|
||||
- `3`: Failed
|
||||
|
||||
## 💾 Backup & Restore / Sao lưu & Khôi phục
|
||||
|
||||
### Backup
|
||||
|
||||
**Format**: ZIP file chứa tất cả script files với folder structure
|
||||
|
||||
**Process**:
|
||||
1. User clicks "Backup"
|
||||
2. Server collect all files from script directory
|
||||
3. Create ZIP with preserved structure
|
||||
4. Store: `ScriptBackup_2025-11-13_143022.zip`
|
||||
5. Optionally download to browser
|
||||
|
||||
### Restore
|
||||
|
||||
**Process**:
|
||||
1. User select backup (from list or upload ZIP)
|
||||
2. Engine transitions to Idle
|
||||
3. Extract ZIP
|
||||
4. Validate files
|
||||
5. Replace current scripts if valid
|
||||
|
||||
## 🔗 Related Documents / Tài liệu Liên quan
|
||||
|
||||
- [ScriptEngine Overview](README.md) - Tổng quan ScriptEngine
|
||||
- [Missions](Missions.md) - Mission execution và persistence
|
||||
- [Script Files](ScriptFiles.md) - File system storage
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-11-13
|
||||
|
||||
Reference in New Issue
Block a user