Archived
4
2
2 Database thoughts
Dave Morriss edited this page 2022-08-20 16:25:20 +01:00

Some thoughts on database enhancements

Some work was done on an alternative to the MySQL/MariaDB database a few years ago, using PostgreSQL. We decided against this database engine but the design might have some features that are helpful.

These are ideas from the Pg database(s) in no particular order:

  • Merging of the Today with a Techie shows with the HPR shows.
    • In my design I had a simple integer primary key and an episode key like twat001 and hpr001 to differentiate the two origins.
  • Licenses in the episodes table as foreign keys into a licenses table
  • IA status information in the episodes table such as an archived column to show the IA status along with IA dates, and URLs.
  • Show status like reserved, processing and posted (an enumerated type) as a column in the episodes table
  • An episode->host relationship to allow multiple hosts per show (as well as the current multiple shows per host). Implemented through an episodes_hosts_xref cross-reference table.
  • An episode->series relationship as at present. Implemented through an episodes_series_xref cross-reference table.
  • An episode->tag relationship. Implemented through an episodes_tags_xref cross-reference table.
  • Comments exactly as now. A trigger maintains a last_changed column (as now).
  • An assets table with a FK relationship with the episodes table.

Further suggestions:

  • A means of detecting changes in the notes (or other attributes) for each show. Perhaps a note hash column? Perhaps a last_changed column linked to a trigger? The point is, if we're maintaining parity between the HPR copies and the IA copies of these shows we need a way of detecting changes.