Ferreteria/v0.42/sql/node: Difference between revisions
Jump to navigation
Jump to search
(concept explanation from 0.41 (no changes)) |
No edit summary |
||
Line 16: | Line 16: | ||
* '''2020-01-16''' redesigning for v0.4 (copied from [[Ferreteria/sql/tf node]]) | * '''2020-01-16''' redesigning for v0.4 (copied from [[Ferreteria/sql/tf node]]) | ||
* '''2020-01-23''' copying from v0.41 to v0.42 essentially unaltered | * '''2020-01-23''' copying from v0.41 to v0.42 essentially unaltered | ||
* '''2020-05-26''' decided to remove NOT NULL from Type user can create new Nodes without any input. | |||
** Strongly inclined to make Type a pseudofield (Leaf), in any case. | |||
==Fields== | ==Fields== | ||
* '''Type''': name of node type; code should know how to map these to node-handler classes | * '''Type''': name of node type; code should know how to map these to node-handler classes | ||
==SQL== | ==SQL== | ||
<source lang=mysql>CREATE TABLE `node` ( | <source lang=mysql>CREATE TABLE `node` ( | ||
`ID` INT(4) | `ID` INT(4) NOT NULL AUTO_INCREMENT, | ||
`Type` VARCHAR(255) | `Type` VARCHAR(255) DEFAULT NULL COMMENT "name of node type", | ||
`WhenMade` DATETIME | `WhenMade` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, | ||
PRIMARY KEY(`ID`) | PRIMARY KEY(`ID`) | ||
) ENGINE=InnoDB;</source> | ) ENGINE=InnoDB;</source> |
Revision as of 00:03, 27 May 2020
About
- table purpose: root for all data
- record purpose: a thing that has values
- Module: Template:L/version
Concept
Every node
- is a record in the node table
- can have zero or more leafs
- There's generally no point to having zero, but no reason to forbid it.
- can have a (node) type which points to a handler-class
- so that when we're looking at a group of unspecified nodes, we know how to handle each one
History
- 2017-03-12 started
- 2017-04-09 decided there really should be a WhenMade timestamp; can always remove later
- 2017-08-05 renamed Class to Type for consistency with tf_leaf: records use "types", code maps these to "classes"
- 2020-01-16 redesigning for v0.4 (copied from Ferreteria/sql/tf node)
- 2020-01-23 copying from v0.41 to v0.42 essentially unaltered
- 2020-05-26 decided to remove NOT NULL from Type user can create new Nodes without any input.
- Strongly inclined to make Type a pseudofield (Leaf), in any case.
Fields
- Type: name of node type; code should know how to map these to node-handler classes
SQL
CREATE TABLE `node` (
`ID` INT(4) NOT NULL AUTO_INCREMENT,
`Type` VARCHAR(255) DEFAULT NULL COMMENT "name of node type",
`WhenMade` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(`ID`)
) ENGINE=InnoDB;