#164983 by multiple contributors: document the core database schemas
--- modules/aggregator/aggregator.install 2007/10/05 14:43:24 1.10
+++ modules/aggregator/aggregator.install 2007/10/10 11:39:32 1.11
@@ -1,5 +1,5 @@
<?php
-// $Id: aggregator.install,v 1.10 2007/10/05 14:43:24 dries Exp $
+// $Id: aggregator.install,v 1.11 2007/10/10 11:39:32 goba Exp $
/**
* Implementation of hook_install().
@@ -27,45 +27,149 @@
*/
function aggregator_schema() {
$schema['aggregator_category'] = array(
+ 'description' => t('Stores categories for aggregator feeds and feed items.'),
'fields' => array(
- 'cid' => array('type' => 'serial', 'not null' => TRUE),
- 'title' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'description' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'block' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+ 'cid' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => t('Primary Key: Unique aggregator category ID.'),
+ ),
+ 'title' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Title of the category.'),
+ ),
+ 'description' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big',
+ 'description' => t('Description of the category'),
+ ),
+ 'block' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('The number of recent items to show within the category block.'),
+ )
),
'primary key' => array('cid'),
'unique keys' => array('title' => array('title')),
);
$schema['aggregator_category_feed'] = array(
+ 'description' => t('Bridge table; maps feeds to categories.'),
'fields' => array(
- 'fid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'cid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+ 'fid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t("The feed's {aggregator_feed}.fid."),
+ ),
+ 'cid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {aggregator_category}.cid to which the feed is being assigned.'),
+ )
),
'primary key' => array('fid', 'cid'),
);
$schema['aggregator_category_item'] = array(
+ 'description' => t('Bridge table; maps feed items to categories.'),
'fields' => array(
- 'iid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'cid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+ 'iid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t("The feed item's {aggregator_feed_item}.iid."),
+ ),
+ 'cid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {aggregator_category}.cid to which the feed item is being assigned.'),
+ )
),
'primary key' => array('iid', 'cid'),
);
$schema['aggregator_feed'] = array(
+ 'description' => t('Stores feeds to be parsed by the aggregator.'),
'fields' => array(
- 'fid' => array('type' => 'serial', 'not null' => TRUE),
- 'title' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'url' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'refresh' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'checked' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'link' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'description' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'image' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'etag' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'modified' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'block' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+ 'fid' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => t('Primary Key: Unique feed ID.'),
+ ),
+ 'title' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Title of the feed.'),
+ ),
+ 'url' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('URL to the feed.'),
+ ),
+ 'refresh' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('How often to check for new feed items, in seconds.'),
+ ),
+ 'checked' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Last time feed was checked for new items, as Unix timestamp.'),
+ ),
+ 'link' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('The parent website of the feed; comes from the <link> element in the feed.'),
+ ),
+ 'description' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big',
+ 'description' => t("The parent website's description; comes from the <description> element in the feed."),
+ ),
+ 'image' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big',
+ 'description' => t('An image representing the feed.'),
+ ),
+ 'etag' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Entity tag HTTP response header, used for validating cache.'),
+ ),
+ 'modified' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('When the feed was last modified, as a Unix timestamp.'),
+ ),
+ 'block' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t("Number of items to display in the feed's block."),
+ )
),
'unique keys' => array(
'url' => array('url'),
@@ -75,15 +179,57 @@
);
$schema['aggregator_item'] = array(
+ 'description' => t('Stores the individual items imported from feeds.'),
'fields' => array(
- 'iid' => array('type' => 'serial', 'not null' => TRUE),
- 'fid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'title' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'link' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'author' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'description' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'timestamp' => array('type' => 'int', 'not null' => FALSE),
- 'guid' => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE)
+ 'iid' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => t('Primary Key: Unique ID for feed item.'),
+ ),
+ 'fid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {aggregator_feed}.fid to which this item belongs.'),
+ ),
+ 'title' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Title of the feed item.'),
+ ),
+ 'link' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Link to the feed item.'),
+ ),
+ 'author' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Author of the feed item.'),
+ ),
+ 'description' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big',
+ 'description' => t('Body of the feed item.'),
+ ),
+ 'timestamp' => array(
+ 'type' => 'int',
+ 'not null' => FALSE,
+ 'description' => t('Post date of feed item, as a Unix timestamp.'),
+ ),
+ 'guid' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => FALSE,
+ 'description' => t('Unique identifier for the feed item.'),
+ )
),
'indexes' => array('fid' => array('fid')),
'primary key' => array('iid'),
@@ -91,4 +237,3 @@
return $schema;
}
-
--- modules/block/block.install 2007/10/05 16:07:22 1.1
+++ modules/block/block.install 2007/10/10 11:39:32 1.2
@@ -1,34 +1,125 @@
<?php
-// $Id: block.install,v 1.1 2007/10/05 16:07:22 dries Exp $
+// $Id: block.install,v 1.2 2007/10/10 11:39:32 goba Exp $
/**
* Implementation of hook_schema().
*/
function block_schema() {
$schema['blocks'] = array(
+ 'description' => t('Stores block settings, such as region and visibility settings.'),
'fields' => array(
- 'bid' => array('type' => 'serial', 'not null' => TRUE),
- 'module' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
- 'delta' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => '0'),
- 'theme' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'status' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'region' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => 'left'),
- 'custom' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'throttle' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'visibility' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'pages' => array('type' => 'text', 'not null' => TRUE),
- 'title' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
- 'cache' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
+ 'bid' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => t('Primary Key: Unique block ID.'),
+ ),
+ 'module' => array(
+ 'type' => 'varchar',
+ 'length' => 64,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t("The module from which the block originates; for example, 'user' for the Who's Online block, and 'block' for any custom blocks."),
+ ),
+ 'delta' => array(
+ 'type' => 'varchar',
+ 'length' => 32,
+ 'not null' => TRUE,
+ 'default' => '0',
+ 'description' => t('Unique ID for block within a module.'),
+ ),
+ 'theme' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('The theme under which the block settings apply.'),
+ ),
+ 'status' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('Block enabled status. (1 = enabled, 0 = disabled)'),
+ ),
+ 'weight' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('Block weight within region.'),
+ ),
+ 'region' => array(
+ 'type' => 'varchar',
+ 'length' => 64,
+ 'not null' => TRUE,
+ 'default' => 'left',
+ 'description' => t('Theme region within which the block is set.'),
+ ),
+ 'custom' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('Flag to indicate how users may control visibility of the block. (0 = Users cannot control, 1 = On by default, but can be hidden, 2 = Hidden by default, but can be shown)'),
+ ),
+ 'throttle' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('Flag to indicate whether or not to remove block when website traffic is high. (1 = throttle, 0 = do not throttle)'),
+ ),
+ 'visibility' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('Flag to indicate how to show blocks on pages. (0 = Show on all pages except listed pages, 1 = Show only on listed pages, 2 = Use custom PHP code to determine visibility)'),
+ ),
+ 'pages' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'description' => t('Contents of the "Pages" block; contain either a list of paths on which to include/exlclude the block or PHP code, depending on "visibility" setting.'),
+ ),
+ 'title' => array(
+ 'type' => 'varchar',
+ 'length' => 64,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Custom title for the block. (Empty string will use block default title, <none> will remove the title, text will cause block to use specified title.)'),
+ ),
+ 'cache' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('Binary flag to indicate block cache mode. (-1: Do not cache, 1: Cache per role, 2: Cache per user, 4: Cache per page, 8: Block cache global) See BLOCK_CACHE_* constants in block.module for more detailed information.'),
+ ),
),
'primary key' => array('bid'),
);
$schema['blocks_roles'] = array(
+ 'description' => t('Sets up access permissions for blocks based on user roles'),
'fields' => array(
- 'module' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE),
- 'delta' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE),
- 'rid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE)
+ 'module' => array(
+ 'type' => 'varchar',
+ 'length' => 64,
+ 'not null' => TRUE,
+ 'description' => t("The block's origin module, from {blocks}.module."),
+ ),
+ 'delta' => array(
+ 'type' => 'varchar',
+ 'length' => 32,
+ 'not null' => TRUE,
+ 'description' => t("The block's unique delta within module, from {blocks}.delta."),
+ ),
+ 'rid' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'description' => t("The user's role ID from {user_roles}.rid."),
+ ),
),
'primary key' => array(
'module',
@@ -38,17 +129,41 @@
);
$schema['boxes'] = array(
+ 'description' => t('Stores contents of custom-made blocks.'),
'fields' => array(
- 'bid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
- 'body' => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
- 'info' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
- 'format' => array('type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0)
+ 'bid' => array(
+ 'type' => 'serial',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'description' => t("The block's {block}.bid."),
+ ),
+ 'body' => array(
+ 'type' => 'text',
+ 'not null' => FALSE,
+ 'size' => 'big',
+ 'description' => t('Block contents.'),
+ ),
+ 'info' => array(
+ 'type' => 'varchar',
+ 'length' => 128,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Block description.'),
+ ),
+ 'format' => array(
+ 'type' => 'int',
+ 'size' => 'small',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t("Block body's {filter_formats}.format; for example, 1 = Filtered HTML."),
+ )
),
'unique keys' => array('info' => array('info')),
'primary key' => array('bid'),
);
$schema['cache_block'] = drupal_get_schema_unprocessed('system', 'cache');
+ $schema['cache_block']['description'] = t('Cache table for the Block module to store already built blocks, identified by module, delta, and various contexts which may change the block, such as theme, locale, and caching mode defined for the block.');
return $schema;
}
--- modules/book/book.install 2007/10/05 14:43:24 1.10
+++ modules/book/book.install 2007/10/10 11:39:32 1.11
@@ -1,5 +1,5 @@
<?php
-// $Id: book.install,v 1.10 2007/10/05 14:43:24 dries Exp $
+// $Id: book.install,v 1.11 2007/10/10 11:39:32 goba Exp $
/**
* Implementation of hook_install().
@@ -249,10 +249,29 @@
*/
function book_schema() {
$schema['book'] = array(
+ 'description' => t('Stores book outline information. Uniquely connects each node in the outline to a link in {menu_links}'),
'fields' => array(
- 'mlid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
- 'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
- 'bid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
+ 'mlid' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t("The book page's {menu_links}.mlid."),
+ ),
+ 'nid' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t("The book page's {node}.nid."),
+ ),
+ 'bid' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t("The book ID is the {book}.nid of the top-level page."),
+ ),
),
'indexes' => array(
'nid' => array('nid'),
--- modules/comment/comment.install 2007/10/07 19:25:57 1.6
+++ modules/comment/comment.install 2007/10/10 11:39:32 1.7
@@ -1,5 +1,5 @@
<?php
-// $Id: comment.install,v 1.6 2007/10/07 19:25:57 dries Exp $
+// $Id: comment.install,v 1.7 2007/10/10 11:39:32 goba Exp $
/**
* Implementation of hook_enable().
@@ -62,21 +62,96 @@
*/
function comment_schema() {
$schema['comments'] = array(
+ 'description' => t('Stores comments and associated data.'),
'fields' => array(
- 'cid' => array('type' => 'serial', 'not null' => TRUE),
- 'pid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'nid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'uid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'subject' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
- 'comment' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'hostname' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
- 'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'status' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'format' => array('type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0),
- 'thread' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE),
- 'name' => array('type' => 'varchar', 'length' => 60, 'not null' => FALSE),
- 'mail' => array('type' => 'varchar', 'length' => 64, 'not null' => FALSE),
- 'homepage' => array('type' => 'varchar', 'length' => 255, 'not null' => FALSE)
+ 'cid' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => t('Primary Key: Unique comment ID.'),
+ ),
+ 'pid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {comment}.cid to which this comment is a reply. If set to 0, this comment is not a reply to an existing comment.'),
+ ),
+ 'nid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {node}.nid to which this comment is a reply.'),
+ ),
+ 'uid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {user}.uid who authored the comment. If set to 0, this comment was created by an anonymous user.'),
+ ),
+ 'subject' => array(
+ 'type' => 'varchar',
+ 'length' => 64,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('The comment title.'),
+ ),
+ 'comment' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big',
+ 'description' => t('The comment body.'),
+ ),
+ 'hostname' => array(
+ 'type' => 'varchar',
+ 'length' => 128,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t("The author's host name."),
+ ),
+ 'timestamp' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The time that the comment was created, or last edited by its author, as a Unix timestamp.'),
+ ),
+ 'status' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('The published status of a comment. (0 = Published, 1 = Not Published)'),
+ ),
+ 'format' => array(
+ 'type' => 'int',
+ 'size' => 'small',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {filter_formats}.format of the comment body.'),
+ ),
+ 'thread' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'description' => t("The vancode representation of the comment's place in a thread."),
+ ),
+ 'name' => array(
+ 'type' => 'varchar',
+ 'length' => 60,
+ 'not null' => FALSE,
+ 'description' => t("The comment author's name. Uses {user}.name if the user is logged in, otherwise uses the value typed into the comment form."),
+ ),
+ 'mail' => array(
+ 'type' => 'varchar',
+ 'length' => 64,
+ 'not null' => FALSE,
+ 'description' => t("The comment author's e-mail address from the comment form, if user is anonymous, and the 'Anonymous users may/must leave their contact information' setting is turned on."),
+ ),
+ 'homepage' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => FALSE,
+ 'description' => t("The comment author's home page address from the comment form, if user is anonymous, and the 'Anonymous users may/must leave their contact information' setting is turned on."),
+ )
),
'indexes' => array(
'nid' => array('nid'),
@@ -85,16 +160,44 @@
'primary key' => array('cid'),
);
- $schema['node_comment_statistics'] = array(
- 'fields' => array(
- 'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
- 'last_comment_timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'last_comment_name' => array('type' => 'varchar', 'length' => 60, 'not null' => FALSE),
- 'last_comment_uid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'comment_count' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
- ),
- 'indexes' => array('node_comment_timestamp' => array('last_comment_timestamp')),
- 'primary key' => array('nid'),
+ $schema['node_comment_statistics'] = array(
+ 'description' => t('Maintains statistics of node and comments posts to show "new" and "updated" flags.'),
+ 'fields' => array(
+ 'nid' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {node}.nid for which the statistics are compiled.'),
+ ),
+ 'last_comment_timestamp' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The Unix timestamp of the last comment that was posted within this node, from {comment}.timestamp.'),
+ ),
+ 'last_comment_name' => array(
+ 'type' => 'varchar',
+ 'length' => 60,
+ 'not null' => FALSE,
+ 'description' => t('The name of the latest author to post a comment on this node, from {comment}.author.'),
+ ),
+ 'last_comment_uid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The user ID of the latest author to post a comment on this node, from {comment}.uid.'),
+ ),
+ 'comment_count' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The total number of comments on this node.'),
+ ),
+ ),
+ 'indexes' => array('node_comment_timestamp' => array('last_comment_timestamp')),
+ 'primary key' => array('nid'),
);
return $schema;
--- modules/contact/contact.install 2007/10/05 14:43:24 1.8
+++ modules/contact/contact.install 2007/10/10 11:39:32 1.9
@@ -1,5 +1,5 @@
<?php
-// $Id: contact.install,v 1.8 2007/10/05 14:43:24 dries Exp $
+// $Id: contact.install,v 1.9 2007/10/10 11:39:32 goba Exp $
/**
* Implementation of hook_install().
@@ -26,13 +26,47 @@
*/
function contact_schema() {
$schema['contact'] = array(
+ 'description' => t('Contact form category settings.'),
'fields' => array(
- 'cid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
- 'category' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'recipients' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'reply' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'selected' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+ 'cid' => array(
+ 'type' => 'serial',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'description' => t('Primary Key: Unique category ID.'),
+ ),
+ 'category' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Category name.'),
+ ),
+ 'recipients' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big',
+ 'description' => t('Comma-separated list of recipient e-mail addresses.'),
+ ),
+ 'reply' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big',
+ 'description' => t('Text of the auto-reply message.'),
+ ),
+ 'weight' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t("The category's weight."),
+ ),
+ 'selected' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('Flag to indicate whether or not category is selected by default. (1 = Yes, 0 = No)'),
+ ),
),
'unique keys' => array('category' => array('category')),
'primary key' => array('cid'),
--- modules/dblog/dblog.install 2007/10/05 14:43:24 1.4
+++ modules/dblog/dblog.install 2007/10/10 11:39:32 1.5
@@ -1,5 +1,5 @@
<?php
-// $Id: dblog.install,v 1.4 2007/10/05 14:43:24 dries Exp $
+// $Id: dblog.install,v 1.5 2007/10/10 11:39:32 goba Exp $
/**
* Implementation of hook_install().
@@ -22,18 +22,78 @@
*/
function dblog_schema() {
$schema['watchdog'] = array(
+ 'description' => t('Table that contains logs of all system events.'),
'fields' => array(
- 'wid' => array('type' => 'serial', 'not null' => TRUE),
- 'uid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'type' => array('type' => 'varchar', 'length' => 16, 'not null' => TRUE, 'default' => ''),
- 'message' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'variables' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'severity' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'link' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'location' => array('type' => 'text', 'not null' => TRUE),
- 'referer' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
- 'hostname' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
- 'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+ 'wid' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => t('Primary Key: Unique watchdog event ID.'),
+ ),
+ 'uid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {user}.uid of the user who triggered the event.'),
+ ),
+ 'type' => array(
+ 'type' => 'varchar',
+ 'length' => 16,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Type of log message, for example "user" or "page not found."'),
+ ),
+ 'message' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big',
+ 'description' => t('Text of log message to be passed into the t() function.'),
+ ),
+ 'variables' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big',
+ 'description' => t('Serialized array of variables that match the message string and that is passed into the t() function.'),
+ ),
+ 'severity' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('The severity level of the event; ranges from 0 (Emergency) to 7 (Debug)'),
+ ),
+ 'link' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Link to view the result of the event.'),
+ ),
+ 'location' => array(
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'description' => t('URL of the origin of the event.'),
+ ),
+ 'referer' => array(
+ 'type' => 'varchar',
+ 'length' => 128,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('URL of referring page.'),
+ ),
+ 'hostname' => array(
+ 'type' => 'varchar',
+ 'length' => 128,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Hostname of the user who triggered the event.'),
+ ),
+ 'timestamp' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Unix timestamp of when event occurred.'),
+ ),
),
'primary key' => array('wid'),
'indexes' => array('type' => array('type')),
--- modules/filter/filter.install 2007/10/05 16:07:22 1.1
+++ modules/filter/filter.install 2007/10/10 11:39:32 1.2
@@ -1,33 +1,85 @@
<?php
-// $Id: filter.install,v 1.1 2007/10/05 16:07:22 dries Exp $
+// $Id: filter.install,v 1.2 2007/10/10 11:39:32 goba Exp $
/**
* Implementation of hook_schema().
*/
function filter_schema() {
$schema['filters'] = array(
+ 'description' => t('Table that maps filters (HTML corrector) to input formats (Filtered HTML).'),
'fields' => array(
- 'fid' => array('type' => 'serial', 'not null' => TRUE),
- 'format' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'module' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
- 'delta' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+ 'fid' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => t('Primary Key: Auto-incrementing filter ID.'),
+ ),
+ 'format' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Foreign Key: The {filter_formats}.fid to which this filter is assigned.'),
+ ),
+ 'module' => array(
+ 'type' => 'varchar',
+ 'length' => 64,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('The origin module of the filter.'),
+ ),
+ 'delta' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('ID to identify which filter within module is being referenced.'),
+ ),
+ 'weight' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('Weight of filter within format.'),
+ )
),
'primary key' => array('fid'),
'indexes' => array('weight' => array('weight')),
);
$schema['filter_formats'] = array(
+ 'description' => t('Stores input formats: custom groupings of filters, such as Filtered HTML.'),
'fields' => array(
- 'format' => array('type' => 'serial', 'not null' => TRUE),
- 'name' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'roles' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'cache' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
+ 'format' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => t('Primary Key: Unique ID for format.'),
+ ),
+ 'name' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Name of the input format (Filtered HTML).'),
+ ),
+ 'roles' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('A comma-separated string of roles; references {role}.rid.'),
+ ),
+ 'cache' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny',
+ 'description' => t('Flag to indicate whether format is cachable. (1 = cachable, 0 = not cachable)'),
+ ),
),
'unique keys' => array('name' => array('name')),
'primary key' => array('format'),
);
$schema['cache_filter'] = drupal_get_schema_unprocessed('system', 'cache');
+ $schema['cache_filter']['description'] = t('Cache table for the Filter module to store already filtered pieces of text, identified by input format and md5 hash of the text.');
return $schema;
}
--- modules/forum/forum.install 2007/10/05 14:43:24 1.10
+++ modules/forum/forum.install 2007/10/10 11:39:33 1.11
@@ -1,5 +1,5 @@
<?php
-// $Id: forum.install,v 1.10 2007/10/05 14:43:24 dries Exp $
+// $Id: forum.install,v 1.11 2007/10/10 11:39:33 goba Exp $
/**
* Implementation of hook_install().
@@ -56,10 +56,29 @@
*/
function forum_schema() {
$schema['forum'] = array(
+ 'description' => t('Stores the relationship of nodes to forum terms.'),
'fields' => array(
- 'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
- 'vid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
- 'tid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
+ 'nid' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {node}.nid of the node.'),
+ ),
+ 'vid' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Primary Key: The {node}.vid of the node.'),
+ ),
+ 'tid' => array(
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('The {term_data}.tid of the forum term assigned to the node.'),
+ ),
),
'indexes' => array(
'nid' => array('nid'),
@@ -70,4 +89,3 @@
return $schema;
}
-
--- modules/locale/locale.install 2007/10/05 14:43:25 1.17
+++ modules/locale/locale.install 2007/10/10 11:39:33 1.18
@@ -1,5 +1,5 @@
<?php
-// $Id: locale.install,v 1.17 2007/10/05 14:43:25 dries Exp $
+// $Id: locale.install,v 1.18 2007/10/10 11:39:33 goba Exp $
/**
* Implementation of hook_install().
@@ -139,45 +139,120 @@
*/
function locale_schema() {
$schema['languages'] = array(
+ 'description' => t('List of all available languages in the system.'),
'fields' => array(
- // Language code, eg 'de' or 'en-US'.
- 'language' => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
- // Language name in English.
- 'name' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
- // Native language name.
- 'native' => array('type' => 'varchar', 'length' => 64, 'not null' => TRUE, 'default' => ''),
- // LANGUAGE_RTL or LANGUAGE_LTR
- 'direction' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- // Enabled flag.
- 'enabled' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- // Number of plural indexes in this language.
- 'plurals' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- // Plural formula in PHP code to evaluate to get plural indexes.
- 'formula' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
- // Domain to use for this language.
- 'domain' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
- // Path prefix to use for this language.
- 'prefix' => array('type' => 'varchar', 'length' => 128, 'not null' => TRUE, 'default' => ''),
- // Weight, used in lists of languages.
- 'weight' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- // Location of JavaScript translation file.
- 'javascript' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
+ 'language' => array(
+ 'type' => 'varchar',
+ 'length' => 12,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t("Language code, eg 'de' or 'en-US'."),
+ ),
+ 'name' => array(
+ 'type' => 'varchar',
+ 'length' => 64,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Language name in English.'),
+ ),
+ 'native' => array(
+ 'type' => 'varchar',
+ 'length' => 64,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Native language name.'),
+ ),
+ 'direction' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Direction of language (Left-to-Right = 0, Right-to-Left = 1).'),
+ ),
+ 'enabled' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Enabled flag (1 = Enabled, 0 = Disabled).'),
+ ),
+ 'plurals' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Number of plural indexes in this language.'),
+ ),
+ 'formula' => array(
+ 'type' => 'varchar',
+ 'length' => 128,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Plural formula in PHP code to evaluate to get plural indexes.'),
+ ),
+ 'domain' => array(
+ 'type' => 'varchar',
+ 'length' => 128,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Domain to use for this language.'),
+ ),
+ 'prefix' => array(
+ 'type' => 'varchar',
+ 'length' => 128,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Path prefix to use for this language.'),
+ ),
+ 'weight' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Weight, used in lists of languages.'),
+ ),
+ 'javascript' => array(
+ 'type' => 'varchar',
+ 'length' => 32,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Location of JavaScript translation file.'),
+ ),
),
'primary key' => array('language'),
);
$schema['locales_source'] = array(
+ 'description' => t('List of English source strings.'),
'fields' => array(
- // Unique identifier of this string.
- 'lid' => array('type' => 'serial', 'not null' => TRUE),
- // Drupal path in case of online discovered translations or file path in case of imported strings.
- 'location' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- // A module defined group of translations, see hook_locale().
- 'textgroup' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => 'default'),
- // The original string in English.
- 'source' => array('type' => 'text', 'mysql_type' => 'blob', 'not null' => TRUE),
- // Drupal core version, which last used the string.
- 'version' => array('type' => 'varchar', 'length' => 20, 'not null' => TRUE, 'default' => 'none'),
+ 'lid' => array(
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ 'description' => t('Unique identifier of this string.'),
+ ),
+ 'location' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Drupal path in case of online discovered translations or file path in case of imported strings.'),
+ ),
+ 'textgroup' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => 'default',
+ 'description' => t('A module defined group of translations, see hook_locale().'),
+ ),
+ 'source' => array(
+ 'type' => 'text',
+ 'mysql_type' => 'blob',
+ 'not null' => TRUE,
+ 'description' => t('The original string in English.'),
+ ),
+ 'version' => array(
+ 'type' => 'varchar',
+ 'length' => 20,
+ 'not null' => TRUE,
+ 'default' => 'none',
+ 'description' => t('Version of Drupal, where the string was last used (for locales optimization).'),
+ ),
),
'primary key' => array('lid'),
'indexes' => array
@@ -185,17 +260,39 @@
);
$schema['locales_target'] = array(
+ 'description' => t('Stores translated versions of strings.'),
'fields' => array(
- // References locales_source.
- 'lid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- // Translation string value in this language.
- 'translation' => array('type' => 'text', 'mysql_type' => 'blob', 'not null' => TRUE),
- // Language code referencing the languages table.
- 'language' => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
- // Parent lid (lid of the previous string in the plural chain) in case of plural strings.
- 'plid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- // Plural index number in case of plural strings.
- 'plural' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
+ 'lid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Source string ID. References {locales_source}.lid.'),
+ ),
+ 'translation' => array(
+ 'type' => 'text',
+ 'mysql_type' => 'blob',
+ 'not null' => TRUE,
+ 'description' => t('Translation string value in this language.'),
+ ),
+ 'language' => array(
+ 'type' => 'varchar',
+ 'length' => 12,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Language code. References {languages}.language.'),
+ ),
+ 'plid' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Parent lid (lid of the previous string in the plural chain) in case of plural strings. References {locales_source}.lid.'),
+ ),
+ 'plural' => array(
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'description' => t('Plural index number in case of plural strings.'),
+ ),
),
'indexes' => array(
'language' => array('language'),
--- modules/menu/menu.install 2007/10/05 14:43:25 1.7
+++ modules/menu/menu.install 2007/10/10 11:39:33 1.8
@@ -1,5 +1,5 @@
<?php
-// $Id: menu.install,v 1.7 2007/10/05 14:43:25 dries Exp $
+// $Id: menu.install,v 1.8 2007/10/10 11:39:33 goba Exp $
/**
* Implementation of hook_install().
@@ -26,11 +26,27 @@
*/
function menu_schema() {
$schema['menu_custom'] = array(
+ 'description' => t('Holds definitions for top-level custom menus (for example, Primary Links).'),
'fields' => array(
- // This is used as a block delta so length is 32.
- 'menu_name' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
- 'title' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'description' => array('type' => 'text', 'not null' => FALSE),
+ 'menu_name' => array(
+ 'type' => 'varchar',
+ 'length' => 32,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Primary Key: Unique key for menu. This is used as a block delta so length is 32.'),
+ ),
+ 'title' => array(
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => '',
+ 'description' => t('Menu title; displayed at top of block.'),
+ ),
+ 'description' => array(
+ 'type' => 'text',
+ 'not null' => FALSE,
+ 'description' => t('Menu description.'),
+ ),
),
'primary key' => array('menu_name'),
);
@@ -38,4 +54,3 @@
return $schema;
}
-
--- modules/node/node.install 2007/10/05 16:07:22 1.1
+++ modules/node/node.install 2007/10/10 11:39:33 1.2
@@ -1,28 +1,94 @@
<?php
-// $Id: node.install,v 1.1 2007/10/05 16:07:22 dries Exp $
+// $Id: node.install,v 1.2 2007/10/10 11:39:33 goba Exp $
/**
* Implementation of hook_schema().
*/
function node_schema() {
$schema['node'] = array(
+ 'description' => t('The base table for nodes.'),
'fields' => array(
- 'nid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
- 'vid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
- 'type' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => ''),
- 'language' => array('type' => 'varchar', 'length' => 12, 'not null' => TRUE, 'default' => ''),
- 'title' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'uid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'status' => array('type' => 'int', 'not null' => TRUE, 'default' => 1),
- 'created' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'changed' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'comment' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'promote' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'moderate' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'sticky' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'tnid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
- 'translate' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- ),
+ 'nid' => array(
+ 'description' => t('The primary identifier for a node.'),
+ 'type' => 'serial',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE),
+ 'vid' => array(
+ 'description' => t('The current {node_revisions}.vid version identifier.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'type' => array(
+ 'description' => t('The {node_type} of this node.'),
+ 'type' => 'varchar',
+ 'length' => 32,
+ 'not null' => TRUE,
+ 'default' => ''),
+ 'language' => array(
+ 'description' => t('The {languages}.language of this node.'),
+ 'type' => 'varchar',
+ 'length' => 12,
+ 'not null' => TRUE,
+ 'default' => ''),
+ 'title' => array(
+ 'description' => t('The title of this node, always treated a non-markup plain text.'),
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => ''),
+ 'uid' => array(
+ 'description' => t('The {users}.uid that owns this node; initially, this is the user that created it.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'status' => array(
+ 'description' => t('Boolean indicating whether the node is published (visible to non-administrators).'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 1),
+ 'created' => array(
+ 'description' => t('The Unix timestamp when the node was created.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'changed' => array(
+ 'description' => t('The Unix timestamp when the node was most recently saved.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'comment' => array(
+ 'description' => t('Whether comments are allowed on this node: 0 = no, 1 = read only, 2 = read/write.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'promote' => array(
+ 'description' => t('Boolean indicating whether the node should displayed on the front page.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'moderate' => array(
+ 'description' => t('Previously, a boolean indicating whether the node was "in moderation"; mostly no longer used.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'sticky' => array(
+ 'description' => t('Boolean indicating whether the node should be displayed at the top of lists in which it appears.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'tnid' => array(
+ 'description' => t('The translation set id for this node, which equals the node id of the source post in each set.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'translate' => array(
+ 'description' => t('A boolean indicating whether this translation page needs to be updated.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ ),
'indexes' => array(
'node_changed' => array('changed'),
'node_created' => array('created'),
@@ -35,78 +101,236 @@
'uid' => array('uid'),
'tnid' => array('tnid'),
'translate' => array('translate'),
- ),
+ ),
'unique keys' => array(
'nid_vid' => array('nid', 'vid'),
'vid' => array('vid')
- ),
+ ),
'primary key' => array('nid'),
- );
+ );
$schema['node_access'] = array(
+ 'description' => t('Identifies which realm/grant pairs a user must possess in order to view, update, or delete specific nodes.'),
'fields' => array(
- 'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
- 'gid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
- 'realm' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'grant_view' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'grant_update' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'grant_delete' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
- ),
- 'primary key' => array(
- 'nid',
- 'gid',
- 'realm'
- ),
- );
+ 'nid' => array(
+ 'description' => t('The {node}.nid this record affects.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'gid' => array(
+ 'description' => t("The grant ID a user must possess in the specified realm to gain this row's privileges on the node."),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'realm' => array(
+ 'description' => t('The realm in which the user must possess the grant ID. Each node access node can define one or more realms.'),
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => ''),
+ 'grant_view' => array(
+ 'description' => t('Boolean indicating whether a user with the realm/grant pair can view this node.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny'),
+ 'grant_update' => array(
+ 'description' => t('Boolean indicating whether a user with the realm/grant pair can edit this node.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny'),
+ 'grant_delete' => array(
+ 'description' => t('Boolean indicating whether a user with the realm/grant pair can delete this node.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny')
+ ),
+ 'primary key' => array('nid', 'gid', 'realm'),
+ );
$schema['node_counter'] = array(
+ 'description' => t('Access statistics for {node}s.'),
'fields' => array(
- 'nid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'totalcount' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'big'),
- 'daycount' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'medium'),
- 'timestamp' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
- ),
+ 'nid' => array(
+ 'description' => t('The {node}.nid for these statistics.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'totalcount' => array(
+ 'description' => t('The total number of times the {node} has been viewed.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'big'),
+ 'daycount' => array(
+ 'description' => t('The total number of times the {node} has been viewed today.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'medium'),
+ 'timestamp' => array(
+ 'description' => t('The most recent time the {node} has been viewed.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0)
+ ),
'primary key' => array('nid'),
- );
+ );
$schema['node_revisions'] = array(
+ 'description' => t('Stores information about each saved version of a {node}.'),
'fields' => array(
- 'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
- 'vid' => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
- 'uid' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'title' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'body' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'teaser' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'log' => array('type' => 'text', 'not null' => TRUE, 'size' => 'big'),
- 'timestamp' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
- 'format' => array('type' => 'int', 'not null' => TRUE, 'default' => 0)
- ),
+ 'nid' => array(
+ 'description' => t('The {node} this version belongs to.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'vid' => array(
+ 'description' => t('The primary identifier for this version.'),
+ 'type' => 'serial',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE),
+ 'uid' => array(
+ 'description' => t('The {users}.uid that created this version.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'title' => array(
+ 'description' => t('The title of this version.'),
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => ''),
+ 'body' => array(
+ 'description' => t('The body of this version.'),
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big'),
+ 'teaser' => array(
+ 'description' => t('The teaser of this version.'),
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big'),
+ 'log' => array(
+ 'description' => t('The log entry explaining the changes in this version.'),
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'big'),
+ 'timestamp' => array(
+ 'description' => t('A Unix timestamp indicating when this version was created.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0),
+ 'format' => array(
+ 'description' => t("The input format used by this version's body."),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0)
+ ),
'indexes' => array(
'nid' => array('nid'),
'uid' => array('uid')
- ),
+ ),
'primary key' => array('vid'),
- );
+ );
$schema['node_type'] = array(
+ 'description' => t('Stores information about all defined {node} types.'),
'fields' => array(
- 'type' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE),
- 'name' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'module' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE),
- 'description' => array('type' => 'text', 'not null' => TRUE, 'size' => 'medium'),
- 'help' => array('type' => 'text', 'not null' => TRUE, 'size' => 'medium'),
- 'has_title' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'size' => 'tiny'),
- 'title_label' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'has_body' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'size' => 'tiny'),
- 'body_label' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
- 'min_word_count' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'size' => 'small'),
- 'custom' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'modified' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'locked' => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
- 'orig_type' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '')
- ),
+ 'type' => array(
+ 'description' => t('The machine-readable name of this type.'),
+ 'type' => 'varchar',
+ 'length' => 32,
+ 'not null' => TRUE),
+ 'name' => array(
+ 'description' => t('The human-readable name of this type.'),
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => ''),
+ 'module' => array(
+ 'description' => t('The module that implements this type.'),
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE),
+ 'description' => array(
+ 'description' => t('A brief description of this type.'),
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'medium'),
+ 'help' => array(
+ 'description' => t('Help information shown to the user when creating a {node} of this type.'),
+ 'type' => 'text',
+ 'not null' => TRUE,
+ 'size' => 'medium'),
+ 'has_title' => array(
+ 'description' => t('Boolean indicating whether this type uses the {node}.title field.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'size' => 'tiny'),
+ 'title_label' => array(
+ 'description' => t('The label displayed for the title field on the edit form.'),
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => ''),
+ 'has_body' => array(
+ 'description' => t('Boolean indicating whether this type uses the {node}.body field.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'size' => 'tiny'),
+ 'body_label' => array(
+ 'description' => t('The label displayed for the body field on the edit form.'),
+ 'type' => 'varchar',
+ 'length' => 255,
+ 'not null' => TRUE,
+ 'default' => ''),
+ 'min_word_count' => array(
+ 'description' => t('The minimum number of words the body must contain.'),
+ 'type' => 'int',
+ 'unsigned' => TRUE,
+ 'not null' => TRUE,
+ 'size' => 'small'),
+ 'custom' => array(
+ 'description' => t('A boolean indicating whether this type is defined by a module (FALSE) or by a user via a module like the Content Construction Kit (TRUE).'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny'),
+ 'modified' => array(
+ 'description' => t('A boolean indicating whether this type has been modified by an administrator; currently not used in any way.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny'),
+ 'locked' => array(
+ 'description' => t('A boolean indicating whether the administrator can change the machine name of this type.'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ 'default' => 0,
+ 'size' => 'tiny'),
+ 'orig_type' => array(
+ 'description' => t('The original machine-readable name of this node type. This may be different from the current type name if