75 lines
1.6 KiB
Markdown
75 lines
1.6 KiB
Markdown
# 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
|
|
|