system_schema()
Implements hook_schema().
File
- core/modules/system/system.install, line 892
- Install, update and uninstall functions for the system module.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | 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.