Skip to content

Placeholder: move Genre from fixed enum to DB-backed lookup table #310

Description

@DutchJaFO

Background

Placeholder for a previously-noted idea: move Genre from a fixed Quotinator.Core enum to a
DB-backed lookup table, so new genres don't require a recompile. Filed now as a tracked placeholder,
not scheduled for immediate implementation — ADR 018
(system-level content belongs in Quotinator.Data) names this as the second anticipated consumer of
its file-authored system content pattern, alongside System_Changelog.

What needs to be done

  1. When this issue is actually planned, cross-check it against ADR 018's file-authored system content
    pattern and whichever generic importer abstraction the System_Changelog issue built — reuse it
    rather than designing a second one.
  2. Design how existing Genre-valued data (the QuoteGenres join, any code referencing the Genre
    enum) migrates to a lookup-table-backed value — this is a real migration-safety concern (existing
    rows reference genre values by current enum member names) and needs its own careful design, not
    assumed to be a drop-in replacement.
  3. Everything else deferred to this issue's own planning phase — this placeholder intentionally does
    not pre-design the solution.

Expected tests

Test class Test method Starts
TBD — decided when this issue is actually planned ❌

Definition of done

  • All expected tests listed above start red before implementation
  • All requirements implemented
  • All expected tests pass (green)
  • No regression in related tests
  • Findings summarised in a closing comment

Activity

  1. added this to the v1.9.0 milestone on Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions