Mercurial > defr > drupal > core
diff modules/node/node.install @ 1:c1f4ac30525a 6.0
Drupal 6.0
author | Franck Deroche <webmaster@defr.org> |
---|---|
date | Tue, 23 Dec 2008 14:28:28 +0100 |
parents | |
children | fff6d4c8c043 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/modules/node/node.install Tue Dec 23 14:28:28 2008 +0100 @@ -0,0 +1,335 @@ +<?php +// $Id: node.install,v 1.4 2007/12/18 12:59:21 dries Exp $ + +/** + * Implementation of hook_schema(). + */ +function node_schema() { + $schema['node'] = array( + 'description' => t('The base table for nodes.'), + 'fields' => array( + '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}.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'), + 'node_moderate' => array('moderate'), + 'node_promote_status' => array('promote', 'status'), + 'node_status_type' => array('status', 'type', 'nid'), + 'node_title_type' => array('title', array('type', 4)), + 'node_type' => array(array('type', 4)), + 'uid' => array('uid'), + 'tnid' => array('tnid'), + 'translate' => array('translate'), + ), + 'unique keys' => array( + '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( + '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( + '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( + '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( + '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_revisions}.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 the locked field is 0.'), + 'type' => 'varchar', + 'length' => 255, + 'not null' => TRUE, + 'default' => '') + ), + 'primary key' => array('type'), + ); + + return $schema; +} +