Files
ss-tools/specs/009-backup-scheduler/data-model.md
2025-12-30 21:30:37 +03:00

1.5 KiB

Data Model: Backup Scheduler & Unified Task UI

Entities

Task

Represents a background operation (Backup, Migration) managed by the system.

Field Type Description Constraints
id UUID Unique identifier Primary Key
type String Type of task Enum: "backup", "migration"
status String Current execution state Enum: "pending", "running", "success", "failed"
environment_id UUID Target environment (if applicable) Foreign Key (Environments), Nullable
started_at DateTime When the task began Nullable
finished_at DateTime When the task completed Nullable
logs Text Execution logs
error Text Error message if failed Nullable
created_at DateTime When task was queued Default: Now

Schedule

Configuration for automatic task execution. Nested within Environment config.

Field Type Description Constraints
environment_id UUID Target environment Foreign Key (Environments)
enabled Boolean Is schedule active? Default: false
cron_expression String Frequency definition Valid Cron string (e.g., "0 0 * * *")
last_run_at DateTime Last execution time Nullable
next_run_at DateTime Calculated next run Nullable

Storage Strategy

  • Tasks: Stored in tasks.db (SQLite) via SQLAlchemy.
  • Schedules: Stored in config.json as part of the Environment model.