Data model
How HeadDB preserves IDs, taxonomy, submissions, roles, and audit history.
Catalog
headsowns the stable numeric ID, normalized texture hash, texture source, category, publication state, and removal audit fields.texture_assetsstores canonical head-only PNGs by SHA-256 for skins uploaded directly to HeadDB.categoriesandtagsstore human-readable names with URL-safe slugs.head_tagsmodels the many-to-many taxonomy relationship.head_redirectscan preserve references when a future duplicate is merged into a canonical entry.
Workflow and access
submissionsstores the proposed data, texture value, current state, Discord delivery result, reviewer, notes, and approved head ID.site_rolesgrants submitter, moderator, or administrator capabilities to OAuth users.- Better Auth owns its user, session, identity-account, and verification tables.
Audit and synchronization
moderation_eventsis an append-only record of moderation actions and their structured details.catalog_revisionsgives each published catalog change a monotonic revision number.
Foreign keys prevent dangling taxonomy and redirect records. Texture hashes are unique, but removed rows retain that uniqueness so an old texture cannot silently return under a new ID.