Difference between revisions of "User:Woozle/PostFerret/sql/post"
< User:Woozle | PostFerret | sql
Jump to navigation
Jump to search
m (syntax fix) |
(made ID_Owner DEFAULT NULL) |
||
| Line 2: | Line 2: | ||
* '''Purpose''': an atom with a little bit of content and possibly an owner | * '''Purpose''': an atom with a little bit of content and possibly an owner | ||
* '''Fields''': | * '''Fields''': | ||
| − | ** '''ID_Owner''': ID of user who owns this post | + | ** '''ID_Owner''': ID of user who owns this post (NULL means ownership is not relevant) |
| + | ** '''Summary''': subject, title, or one-line description | ||
*** Some post types will not have owners, but it's a common enough thing that I thought it should go in at a low level. | *** Some post types will not have owners, but it's a common enough thing that I thought it should go in at a low level. | ||
* '''History''': | * '''History''': | ||
| Line 11: | Line 12: | ||
*** Removed owner/summary uniqueness requirement; can't see need for this either (e.g. multiple posts might be called "status report", for example). | *** Removed owner/summary uniqueness requirement; can't see need for this either (e.g. multiple posts might be called "status report", for example). | ||
*** Added '''Body''' field to make this independent of the containing [[content management system|CMS]]. | *** Added '''Body''' field to make this independent of the containing [[content management system|CMS]]. | ||
| + | ** '''2013-07-21''' ID_Owner needs to be DEFAULT NULL (not NOT NULL) if it's going to be optional. Duh. | ||
==SQL== | ==SQL== | ||
<mysql> | <mysql> | ||
CREATE TABLE `post` ( | CREATE TABLE `post` ( | ||
`ID_Atom` INT NOT NULL COMMENT "ID of atom this post is using", | `ID_Atom` INT NOT NULL COMMENT "ID of atom this post is using", | ||
| − | `ID_Owner` INT | + | `ID_Owner` INT DEFAULT NULL COMMENT "optional: ID of user who owns this post", |
`Summary` VARCHAR(255) NOT NULL COMMENT "short description, for listings", | `Summary` VARCHAR(255) NOT NULL COMMENT "short description, for listings", | ||
| − | `Body` TEXT | + | `Body` TEXT DEFAULT NULL COMMENT "body of post (optional)", |
PRIMARY KEY(`ID_Atom`) | PRIMARY KEY(`ID_Atom`) | ||
) | ) | ||
Revision as of 19:56, 24 July 2013
About
- Purpose: an atom with a little bit of content and possibly an owner
- Fields:
- ID_Owner: ID of user who owns this post (NULL means ownership is not relevant)
- Summary: subject, title, or one-line description
- Some post types will not have owners, but it's a common enough thing that I thought it should go in at a low level.
- History:
- 2013-03-12 Created, but not yet in use.
- 2013-03-15 Most fields moved from post to atom; added ID_Owner.
- 2013-06-28
- Decided to remove URI until there's a clear purpose and need for it.
- Removed owner/summary uniqueness requirement; can't see need for this either (e.g. multiple posts might be called "status report", for example).
- Added Body field to make this independent of the containing CMS.
- 2013-07-21 ID_Owner needs to be DEFAULT NULL (not NOT NULL) if it's going to be optional. Duh.
SQL
<mysql> CREATE TABLE `post` (
`ID_Atom` INT NOT NULL COMMENT "ID of atom this post is using", `ID_Owner` INT DEFAULT NULL COMMENT "optional: ID of user who owns this post", `Summary` VARCHAR(255) NOT NULL COMMENT "short description, for listings", `Body` TEXT DEFAULT NULL COMMENT "body of post (optional)", PRIMARY KEY(`ID_Atom`) ) ENGINE = MYISAM;
</mysql>
Obsolete
- URI: I haven't yet decided if this really belongs here or how to formally define it, but it could be used for either:
- a page on the site which is set aside for more information about the given post
- the post's official URI on the site
<mysql> `URI` VARCHAR(255) DEFAULT NULL COMMENT "optional site-relative URI for more information",</mysql>