Difference between revisions of "InstaGov/schema/question"
Jump to navigation
Jump to search
(Summary must be unique) |
(stripped down to almost nothing so we can use PostFerret) |
||
Line 10: | Line 10: | ||
* '''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 | * '''2013-01-07''' Added UNIQUE KEY for Summary | ||
+ | * '''2013-07-14''' Revising to use {{l/pferret}} | ||
+ | ** '''Summary''' field is now in {{l/pferret/sql|post}} | ||
+ | ** Removing fields: '''Page''' ({{l/pferret/sql|post}}), '''WhenCreated''', '''WhoCreated''', '''WhenEdited''', '''WhoEdited''', '''QtyEdits''' ({{l/pferret/sql|atom}}) | ||
+ | ** Alternatively, we could have just used the '''post''' table and added a "class" field, since this record now adds no other information, but we may later want to add some... and so far none of the other post-derivatives are capable of being this stripped-down, so the "class" field would be redundant for them. | ||
==SQL== | ==SQL== | ||
+ | <mysql>CREATE TABLE `question` ( | ||
+ | `ID_Post` INT NOT NULL COMMENT "post.ID for content", | ||
+ | PRIMARY KEY(`ID_Post`) | ||
+ | ) | ||
+ | ENGINE = MYISAM;</mysql> | ||
+ | ==Obsolete== | ||
<mysql>CREATE TABLE `question` ( | <mysql>CREATE TABLE `question` ( | ||
`ID` INT NOT NULL AUTO_INCREMENT, | `ID` INT NOT NULL AUTO_INCREMENT, |
Revision as of 16:29, 14 July 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
- 2013-07-14 Revising to use PostFerret
- Summary field is now in post
- Removing fields: Page (post), WhenCreated, WhoCreated, WhenEdited, WhoEdited, QtyEdits (atom)
- Alternatively, we could have just used the post table and added a "class" field, since this record now adds no other information, but we may later want to add some... and so far none of the other post-derivatives are capable of being this stripped-down, so the "class" field would be redundant for them.
SQL
<mysql>CREATE TABLE `question` (
`ID_Post` INT NOT NULL COMMENT "post.ID for content", PRIMARY KEY(`ID_Post`) ) ENGINE = MYISAM;</mysql>
Obsolete
<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>