Difference between revisions of "InstaGov/schema/question"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
m (using new terms template)
(Summary must be unique)
Line 9: Line 9:
 
* '''2012-12-28''' Removing *_Text; adding Summary, WhoCreated
 
* '''2012-12-28''' Removing *_Text; adding Summary, WhoCreated
 
* '''2013-01-03''' changed WhoCreated and WhoEdited from string to integer
 
* '''2013-01-03''' changed WhoCreated and WhoEdited from string to integer
 +
* '''2013-01-07''' Added UNIQUE KEY for Summary
 
==SQL==
 
==SQL==
 
<mysql>CREATE TABLE `question` (
 
<mysql>CREATE TABLE `question` (
Line 19: Line 20:
 
   `WhoEdited`  INT          DEFAULT NULL COMMENT "ID of user who last edited the question",
 
   `WhoEdited`  INT          DEFAULT NULL COMMENT "ID of user who last edited the question",
 
   `QtyEdits`    INT          DEFAULT NULL COMMENT "number of times this question has been edited",
 
   `QtyEdits`    INT          DEFAULT NULL COMMENT "number of times this question has been edited",
   PRIMARY KEY(`ID`)
+
   PRIMARY KEY(`ID`),
 +
  UNIQUE KEY `content` (`Summary`)
 
  )
 
  )
 
  ENGINE = MYISAM;</mysql>
 
  ENGINE = MYISAM;</mysql>

Revision as of 02:29, 8 January 2013

About

  • Purpose: implements questions
  • Notes:
    • I originally had a "WhenExpires" field as a way of making a decision at a specific time, but I decided that this belongs in a separate table (something like "decision point"). Timetable functionality feels "tacked-on", and putting it in a separate table allows keeping that feature from becoming entangled with basic voting. We might want to be able to implement, say, more than one decision-point per question.
    • Not sure if we'll actually need Pos/Neg_Text; it may be just a frill.
    • 2011-05-02 Makes no sense to have Pos/Neg Text; that's an Answer thing. (See InstaGov/SMW/questions for obsolete notes.)
    • 2012-12-28 Making the structure dependent on wiki pages increases platform-dependency and CPU overhead. Keep the table, make wiki page optional (it should default, at page creation time, to a calculated name which can be updated if the page is moved). We will probably need a log of edits to Answers. In fact, let's do a general log.

History

  • 2012-12-28 Removing *_Text; adding Summary, WhoCreated
  • 2013-01-03 changed WhoCreated and WhoEdited from string to integer
  • 2013-01-07 Added UNIQUE KEY for Summary

SQL

<mysql>CREATE TABLE `question` (

  `ID` INT  NOT NULL AUTO_INCREMENT,
  `Summary`     VARCHAR(255)     NOT NULL COMMENT "short description of question",
  `Page`        VARCHAR(127) DEFAULT NULL COMMENT "optional wiki page with more information",
  `WhenCreated` DATETIME         NOT NULL COMMENT "when this question was entered",
  `WhoCreated`  INT              NOT NULL COMMENT "ID of user who added the question",
  `WhenEdited`  DATETIME     DEFAULT NULL COMMENT "when this question was last edited",
  `WhoEdited`   INT          DEFAULT NULL COMMENT "ID of user who last edited the question",
  `QtyEdits`    INT          DEFAULT NULL COMMENT "number of times this question has been edited",
  PRIMARY KEY(`ID`),
  UNIQUE KEY `content` (`Summary`)
)
ENGINE = MYISAM;</mysql>