Hoard

From Woozle Writes Code
Revision as of 14:09, 5 July 2024 by Woozle (talk | contribs)
Jump to navigation Jump to search

About

All the things I need to track tie together in various ways, it seems. Hoard is the database that ties them together. It also has a number of ad hoc uses.

Schemae

Things

This keeps track of all the things.

CREATE TABLE
  `things` (
    `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `WhenNew`    timestamp NOT NULL DEFAULT current_timestamp(),
    `ID_Base`    int(11) DEFAULT NULL COMMENT 'ID of parent record',
    `ID_Stuff`   int(11) DEFAULT NULL COMMENT 'external reference, if any',
    `Name`       varchar(255) DEFAULT NULL COMMENT 'label for lists',
    PRIMARY KEY (`ID`)
  ) ENGINE = InnoDB

Stuff

This keeps track of stuff about the things. (still designing; not functional yet)

CREATE TABLE
  `stuff` (
    `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `WhenNew`    timestamp NOT NULL DEFAULT current_timestamp(),
    PRIMARY KEY (`ID`)
  ) ENGINE = InnoDB

Extern

This tracks external data repositories.

CREATE TABLE
  `extern` (
    `ID`       int(10) unsigned NOT NULL AUTO_INCREMENT,
    `WhenNew`  timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'when this record was added',
    `SID_Type` varchar(255) DEFAULT NULL COMMENT 'slug for thing-type (matches coded external data)',
    `Name`     varchar(255) DEFAULT NULL COMMENT 'single line for lists',
    PRIMARY KEY (`ID`)
  ) ENGINE = InnoDB