Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 1.53 KB

File metadata and controls

28 lines (21 loc) · 1.53 KB
# Data Schema History

> **Last updated:** 2026-02-19

## Version History

- **v1 (Initial Release):**
  - Initial schema for stages, shooters, and stage results.
  - All persisted data is versioned and migration-ready.
  - No breaking changes or migrations have occurred as of this date.

- **v3 (2026-01-09):**
  - Added `classificationScore` (percentage 0-100) to `Shooter` model. Default value for existing shooters is `100.0`.
  - Migration implemented to populate `classificationScore` with `100.0` for persisted shooters missing the field.
  - Updated persistence and export/import to include `classificationScore` on shooter objects.

- **v4 (2026-02-19):**
  - Added per-record audit timestamps: `createdAt` and `updatedAt` (ISO8601 UTC) to the following models: `MatchStage`, `Shooter`, `StageResult`, `TeamGame`.
  - Migration/backfill: existing persisted records missing audit fields are backfilled using the system UTC now (`DateTime.now().toUtc().toIso8601String()`). When `createdAt` is missing, it is set equal to the backfilled `updatedAt` value.
  - Repository change: `MatchRepository` now centralizes stamping `updatedAt` on updates before persisting.
  - Tests: added migration/backfill integration tests and updated widget/unit tests to seed `MatchRepository` deterministically and use `ChangeNotifierProvider` where appropriate.

## Notes
- All schema changes must be documented here with version, date, and migration details.
- If you change any persisted data structure, increment the schema version and update this file.