Hoard: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
No edit summary
No edit summary
Line 10: Line 10:
     `WhenNew`    timestamp NOT NULL DEFAULT current_timestamp(),
     `WhenNew`    timestamp NOT NULL DEFAULT current_timestamp(),
     `ID_Base`    int(11) DEFAULT NULL COMMENT 'ID of parent record',
     `ID_Base`    int(11) DEFAULT NULL COMMENT 'ID of parent record',
     `ID_Stuff`   int(11) DEFAULT NULL COMMENT 'external reference, if any',
     `ID_Extern` int(11) DEFAULT NULL COMMENT 'external reference, if any',
     `Name`      varchar(255) DEFAULT NULL COMMENT 'label for lists',
     `Name`      varchar(255) DEFAULT NULL COMMENT 'label, e.g. for using in lists',
     PRIMARY KEY (`ID`)
     PRIMARY KEY (`ID`)
   ) ENGINE = InnoDB
   ) ENGINE = InnoDB
Line 22: Line 22:
     `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
     `ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
     `WhenNew`    timestamp NOT NULL DEFAULT current_timestamp(),
     `WhenNew`    timestamp NOT NULL DEFAULT current_timestamp(),
    `Name`      varchar(255) DEFAULT NULL COMMENT 'name of attribute',
     PRIMARY KEY (`ID`)
     PRIMARY KEY (`ID`)
   ) ENGINE = InnoDB
   ) ENGINE = InnoDB

Revision as of 12:11, 6 July 2024

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_Extern`  int(11) DEFAULT NULL COMMENT 'external reference, if any',
    `Name`       varchar(255) DEFAULT NULL COMMENT 'label, e.g. for using in 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(),
    `Name`       varchar(255) DEFAULT NULL COMMENT 'name of attribute',
    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