Skip to content

feat: Move DB to the Repository #81

@kennytrytek

Description

@kennytrytek

This comment got me thinking about the change management process for Codex suggestions and changes.

No the CSV is what we started with. Everything lives in the DB

Currently, the DB is the single source of truth. It is helpful for there to be only one source of truth, but it comes with a few downsides:

  • Single point of failure. If someone deletes the DB, recovery is painful (maybe impossible? I don't know how backups are currently configured).
  • Searchability is limited to only the features in the Exicon UI. It is hard to find duplicate entries, for example, or download the whole dataset to perform analysis.
  • As mentioned in the linked conversation, change management with more than one admin comes with some challenges.

Having it stored in the repository is beneficial for a few reasons:

  • Changes are preserved in the repository commit history. GitHub already provides a robust submission, review, and acceptance or rejection mechanism, as well as an abundance of tools to help with each stage of the process.
  • Wider updates to language or consistency is as simple as a find/replace in one (or several) files. It can even be done entirely within the GitHub UI.
  • If the DB is deleted, it can be restored with little to no effort.
  • DB updates can be automated on pull request merge using GitHub Actions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions