system_schema()
Implements hook_schema().
File
- core/modules/system/system.install, line 892
- Install, update and uninstall functions for the system module.
Code
function system_schema() { $schema['key_value'] = array( 'description' => 'Generic key-value storage table. See the state system for an example.', 'fields' => array( 'collection' => array( 'description' => 'A named collection of key and value pairs.', 'type' => 'varchar_ascii', 'length' => 128, 'not null' => TRUE, 'default' => '', ), 'name' => array( 'description' => 'The key of the key-value pair. As KEY is a SQL reserved keyword, name was chosen instead.', 'type' => 'varchar_ascii', 'length' => 128, 'not null' => TRUE, 'default' => '', ), 'value' => array( 'description' => 'The value.', 'type' => 'blob', 'not null' => TRUE, 'size' => 'big', ), ), 'primary key' => array('collection', 'name'), ); $schema['key_value_expire'] = array( 'description' => 'Generic key/value storage table with an expiration.', 'fields' => array( 'collection' => array( 'description' => 'A named collection of key and value pairs.', 'type' => 'varchar_ascii', 'length' => 128, 'not null' => TRUE, 'default' => '', ), 'name' => array( // KEY is an SQL reserved word, so use 'name' as the key's field name. 'description' => 'The key of the key/value pair.', 'type' => 'varchar_ascii', 'length' => 128, 'not null' => TRUE, 'default' => '', ), 'value' => array( 'description' => 'The value of the key/value pair.', 'type' => 'blob', 'not null' => TRUE, 'size' => 'big', ), 'expire' => array( 'description' => 'The time since Unix epoch in seconds when this item expires. Defaults to the maximum possible time.', 'type' => 'int', 'not null' => TRUE, 'default' => 2147483647, ), ), 'primary key' => array('collection', 'name'), 'indexes' => array( 'all' => array('name', 'collection', 'expire'), 'expire' => array('expire'), ), ); $schema['sequences'] = array( 'description' => 'Stores IDs.', 'fields' => array( 'value' => array( 'description' => 'The value of the sequence.', 'type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE, ), ), 'primary key' => array('value'), ); $schema['sessions'] = array( 'description' => "Drupal's session handlers read and write into the sessions table. Each record represents a user session, either anonymous or authenticated.", 'fields' => array( 'uid' => array( 'description' => 'The {users}.uid corresponding to a session, or 0 for anonymous user.', 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, ), 'sid' => array( 'description' => "A session ID (hashed). The value is generated by Drupal's session handlers.", 'type' => 'varchar_ascii', 'length' => 128, 'not null' => TRUE, ), 'hostname' => array( 'description' => 'The IP address that last used this session ID (sid).', 'type' => 'varchar_ascii', 'length' => 128, 'not null' => TRUE, 'default' => '', ), 'timestamp' => array( 'description' => 'The Unix timestamp when this session last requested a page. Old records are purged by PHP automatically.', 'type' => 'int', 'not null' => TRUE, 'default' => 0, ), 'session' => array( 'description' => 'The serialized contents of $_SESSION, an array of name/value pairs that persists across page requests by this session ID. Drupal loads $_SESSION from here at the start of each request and saves it at the end.', 'type' => 'blob', 'not null' => FALSE, 'size' => 'big', ), ), 'primary key' => array( 'sid', ), 'indexes' => array( 'timestamp' => array('timestamp'), 'uid' => array('uid'), ), 'foreign keys' => array( 'session_user' => array( 'table' => 'users', 'columns' => array('uid' => 'uid'), ), ), ); // Create the url_alias table. The alias_storage service can auto-create its // table, but this relies on exceptions being thrown. These exceptions will be // thrown every request until an alias is created. $schema['url_alias'] = AliasStorage::schemaDefinition(); return $schema; }
Please login to continue.