docs: update documentation to OKF v0.1 format
This commit is contained in:
@@ -3,7 +3,7 @@ type: database
|
||||
title: Challenge Tables
|
||||
description: category, challenge, challenge_file, and solve tables — how CTF challenges and scoring are stored.
|
||||
tags: [database, challenge, category, solve]
|
||||
timestamp: 2026-07-22T14:50:25Z
|
||||
timestamp: 2026-07-22T16:44:54Z
|
||||
---
|
||||
|
||||
# Tables
|
||||
@@ -25,14 +25,19 @@ System rows are seeded by the
|
||||
`UpdateSystemCategoryKeys1700000000300` migration so the canonical
|
||||
keys are `CRY` (Cryptography), `MSC` (Misc), `PWN` (Binary
|
||||
exploitation), `REV` (Reverse Engineering), `WEB` (Web), and `HW`
|
||||
(Hardware). The migration drops any legacy seeded rows that no
|
||||
longer match the canonical set before inserting the missing entries.
|
||||
(Hardware). A forward-only repair migration,
|
||||
`RepairCategorySchemaAndSystemCategories1700000000400`, runs after
|
||||
that one on existing databases that pre-date the canonical six keys
|
||||
(it adds `created_at`/`updated_at` if missing, deletes obsolete
|
||||
`FOR`/`OSI` system rows, rewrites name/abbreviation/description/icon
|
||||
metadata on canonical rows, inserts any missing canonical row, and
|
||||
guarantees unique indexes on `system_key` and `abbreviation`).
|
||||
User-created categories leave `system_key` as `NULL`.
|
||||
|
||||
The uniqueness on `abbreviation` is enforced both by application
|
||||
validation (uppercased on save, duplicates rejected) and by the
|
||||
`uq_category_abbreviation` index created in migration
|
||||
`1700000000200`.
|
||||
`1700000000200` (re-asserted by `1700000000400`).
|
||||
|
||||
## `challenge`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user