annotate modules/simpletest/tests/database_test.install @ 6:a75ead649730

added biblio, admin_menu and reference modules
author danieleb <danielebarchiesi@me.com>
date Fri, 20 Sep 2013 11:18:21 +0100
parents ff03f76ab3fe
children
rev   line source
danielebarchiesi@0 1 <?php
danielebarchiesi@0 2
danielebarchiesi@0 3 /**
danielebarchiesi@0 4 * @file
danielebarchiesi@0 5 * Install, update and uninstall functions for the database_test module.
danielebarchiesi@0 6 */
danielebarchiesi@0 7
danielebarchiesi@0 8 /**
danielebarchiesi@0 9 * Implements hook_schema().
danielebarchiesi@0 10 *
danielebarchiesi@0 11 * The database tests use the database API which depends on schema
danielebarchiesi@0 12 * information for certain operations on certain databases.
danielebarchiesi@0 13 * Therefore, the schema must actually be declared in a normal module
danielebarchiesi@0 14 * like any other, not directly in the test file.
danielebarchiesi@0 15 */
danielebarchiesi@0 16 function database_test_schema() {
danielebarchiesi@0 17 $schema['test'] = array(
danielebarchiesi@0 18 'description' => 'Basic test table for the database unit tests.',
danielebarchiesi@0 19 'fields' => array(
danielebarchiesi@0 20 'id' => array(
danielebarchiesi@0 21 'type' => 'serial',
danielebarchiesi@0 22 'unsigned' => TRUE,
danielebarchiesi@0 23 'not null' => TRUE,
danielebarchiesi@0 24 ),
danielebarchiesi@0 25 'name' => array(
danielebarchiesi@0 26 'description' => "A person's name",
danielebarchiesi@0 27 'type' => 'varchar',
danielebarchiesi@0 28 'length' => 255,
danielebarchiesi@0 29 'not null' => TRUE,
danielebarchiesi@0 30 'default' => '',
danielebarchiesi@0 31 'binary' => TRUE,
danielebarchiesi@0 32 ),
danielebarchiesi@0 33 'age' => array(
danielebarchiesi@0 34 'description' => "The person's age",
danielebarchiesi@0 35 'type' => 'int',
danielebarchiesi@0 36 'unsigned' => TRUE,
danielebarchiesi@0 37 'not null' => TRUE,
danielebarchiesi@0 38 'default' => 0,
danielebarchiesi@0 39 ),
danielebarchiesi@0 40 'job' => array(
danielebarchiesi@0 41 'description' => "The person's job",
danielebarchiesi@0 42 'type' => 'varchar',
danielebarchiesi@0 43 'length' => 255,
danielebarchiesi@0 44 'not null' => TRUE,
danielebarchiesi@0 45 'default' => 'Undefined',
danielebarchiesi@0 46 ),
danielebarchiesi@0 47 ),
danielebarchiesi@0 48 'primary key' => array('id'),
danielebarchiesi@0 49 'unique keys' => array(
danielebarchiesi@0 50 'name' => array('name')
danielebarchiesi@0 51 ),
danielebarchiesi@0 52 'indexes' => array(
danielebarchiesi@0 53 'ages' => array('age'),
danielebarchiesi@0 54 ),
danielebarchiesi@0 55 );
danielebarchiesi@0 56
danielebarchiesi@0 57 // This is an alternate version of the same table that is structured the same
danielebarchiesi@0 58 // but has a non-serial Primary Key.
danielebarchiesi@0 59 $schema['test_people'] = array(
danielebarchiesi@0 60 'description' => 'A duplicate version of the test table, used for additional tests.',
danielebarchiesi@0 61 'fields' => array(
danielebarchiesi@0 62 'name' => array(
danielebarchiesi@0 63 'description' => "A person's name",
danielebarchiesi@0 64 'type' => 'varchar',
danielebarchiesi@0 65 'length' => 255,
danielebarchiesi@0 66 'not null' => TRUE,
danielebarchiesi@0 67 'default' => '',
danielebarchiesi@0 68 ),
danielebarchiesi@0 69 'age' => array(
danielebarchiesi@0 70 'description' => "The person's age",
danielebarchiesi@0 71 'type' => 'int',
danielebarchiesi@0 72 'unsigned' => TRUE,
danielebarchiesi@0 73 'not null' => TRUE,
danielebarchiesi@0 74 'default' => 0,
danielebarchiesi@0 75 ),
danielebarchiesi@0 76 'job' => array(
danielebarchiesi@0 77 'description' => "The person's job",
danielebarchiesi@0 78 'type' => 'varchar',
danielebarchiesi@0 79 'length' => 255,
danielebarchiesi@0 80 'not null' => TRUE,
danielebarchiesi@0 81 'default' => '',
danielebarchiesi@0 82 ),
danielebarchiesi@0 83 ),
danielebarchiesi@0 84 'primary key' => array('job'),
danielebarchiesi@0 85 'indexes' => array(
danielebarchiesi@0 86 'ages' => array('age'),
danielebarchiesi@0 87 ),
danielebarchiesi@0 88 );
danielebarchiesi@0 89
danielebarchiesi@0 90 $schema['test_one_blob'] = array(
danielebarchiesi@0 91 'description' => 'A simple table including a BLOB field for testing BLOB behavior.',
danielebarchiesi@0 92 'fields' => array(
danielebarchiesi@0 93 'id' => array(
danielebarchiesi@0 94 'description' => 'Simple unique ID.',
danielebarchiesi@0 95 'type' => 'serial',
danielebarchiesi@0 96 'not null' => TRUE,
danielebarchiesi@0 97 ),
danielebarchiesi@0 98 'blob1' => array(
danielebarchiesi@0 99 'description' => 'A BLOB field.',
danielebarchiesi@0 100 'type' => 'blob',
danielebarchiesi@0 101 ),
danielebarchiesi@0 102 ),
danielebarchiesi@0 103 'primary key' => array('id'),
danielebarchiesi@0 104 );
danielebarchiesi@0 105
danielebarchiesi@0 106 $schema['test_two_blobs'] = array(
danielebarchiesi@0 107 'description' => 'A simple test table with two BLOB fields.',
danielebarchiesi@0 108 'fields' => array(
danielebarchiesi@0 109 'id' => array(
danielebarchiesi@0 110 'description' => 'Simple unique ID.',
danielebarchiesi@0 111 'type' => 'serial',
danielebarchiesi@0 112 'not null' => TRUE,
danielebarchiesi@0 113 ),
danielebarchiesi@0 114 'blob1' => array(
danielebarchiesi@0 115 'description' => 'A dummy BLOB field.',
danielebarchiesi@0 116 'type' => 'blob',
danielebarchiesi@0 117 ),
danielebarchiesi@0 118 'blob2' => array(
danielebarchiesi@0 119 'description' => 'A second BLOB field.',
danielebarchiesi@0 120 'type' => 'blob'
danielebarchiesi@0 121 ),
danielebarchiesi@0 122 ),
danielebarchiesi@0 123 'primary key' => array('id'),
danielebarchiesi@0 124 );
danielebarchiesi@0 125
danielebarchiesi@0 126 $schema['test_task'] = array(
danielebarchiesi@0 127 'description' => 'A task list for people in the test table.',
danielebarchiesi@0 128 'fields' => array(
danielebarchiesi@0 129 'tid' => array(
danielebarchiesi@0 130 'description' => 'Task ID, primary key.',
danielebarchiesi@0 131 'type' => 'serial',
danielebarchiesi@0 132 'not null' => TRUE,
danielebarchiesi@0 133 ),
danielebarchiesi@0 134 'pid' => array(
danielebarchiesi@0 135 'description' => 'The {test_people}.pid, foreign key for the test table.',
danielebarchiesi@0 136 'type' => 'int',
danielebarchiesi@0 137 'unsigned' => TRUE,
danielebarchiesi@0 138 'not null' => TRUE,
danielebarchiesi@0 139 'default' => 0,
danielebarchiesi@0 140 ),
danielebarchiesi@0 141 'task' => array(
danielebarchiesi@0 142 'description' => 'The task to be completed.',
danielebarchiesi@0 143 'type' => 'varchar',
danielebarchiesi@0 144 'length' => 255,
danielebarchiesi@0 145 'not null' => TRUE,
danielebarchiesi@0 146 'default' => '',
danielebarchiesi@0 147 ),
danielebarchiesi@0 148 'priority' => array(
danielebarchiesi@0 149 'description' => 'The priority of the task.',
danielebarchiesi@0 150 'type' => 'int',
danielebarchiesi@0 151 'unsigned' => TRUE,
danielebarchiesi@0 152 'not null' => TRUE,
danielebarchiesi@0 153 'default' => 0,
danielebarchiesi@0 154 ),
danielebarchiesi@0 155 ),
danielebarchiesi@0 156 'primary key' => array('tid'),
danielebarchiesi@0 157 );
danielebarchiesi@0 158
danielebarchiesi@0 159 $schema['test_null'] = array(
danielebarchiesi@0 160 'description' => 'Basic test table for NULL value handling.',
danielebarchiesi@0 161 'fields' => array(
danielebarchiesi@0 162 'id' => array(
danielebarchiesi@0 163 'type' => 'serial',
danielebarchiesi@0 164 'unsigned' => TRUE,
danielebarchiesi@0 165 'not null' => TRUE,
danielebarchiesi@0 166 ),
danielebarchiesi@0 167 'name' => array(
danielebarchiesi@0 168 'description' => "A person's name.",
danielebarchiesi@0 169 'type' => 'varchar',
danielebarchiesi@0 170 'length' => 255,
danielebarchiesi@0 171 'not null' => FALSE,
danielebarchiesi@0 172 'default' => '',
danielebarchiesi@0 173 ),
danielebarchiesi@0 174 'age' => array(
danielebarchiesi@0 175 'description' => "The person's age.",
danielebarchiesi@0 176 'type' => 'int',
danielebarchiesi@0 177 'unsigned' => TRUE,
danielebarchiesi@0 178 'not null' => FALSE,
danielebarchiesi@0 179 'default' => 0),
danielebarchiesi@0 180 ),
danielebarchiesi@0 181 'primary key' => array('id'),
danielebarchiesi@0 182 'unique keys' => array(
danielebarchiesi@0 183 'name' => array('name')
danielebarchiesi@0 184 ),
danielebarchiesi@0 185 'indexes' => array(
danielebarchiesi@0 186 'ages' => array('age'),
danielebarchiesi@0 187 ),
danielebarchiesi@0 188 );
danielebarchiesi@0 189
danielebarchiesi@0 190 $schema['test_serialized'] = array(
danielebarchiesi@0 191 'description' => 'Basic test table for NULL value handling.',
danielebarchiesi@0 192 'fields' => array(
danielebarchiesi@0 193 'id' => array(
danielebarchiesi@0 194 'type' => 'serial',
danielebarchiesi@0 195 'unsigned' => TRUE,
danielebarchiesi@0 196 'not null' => TRUE,
danielebarchiesi@0 197 ),
danielebarchiesi@0 198 'name' => array(
danielebarchiesi@0 199 'description' => "A person's name.",
danielebarchiesi@0 200 'type' => 'varchar',
danielebarchiesi@0 201 'length' => 255,
danielebarchiesi@0 202 'not null' => FALSE,
danielebarchiesi@0 203 'default' => '',
danielebarchiesi@0 204 ),
danielebarchiesi@0 205 'info' => array(
danielebarchiesi@0 206 'description' => "The person's data in serialized form.",
danielebarchiesi@0 207 'type' => 'blob',
danielebarchiesi@0 208 'serialize' => TRUE,
danielebarchiesi@0 209 ),
danielebarchiesi@0 210 ),
danielebarchiesi@0 211 'primary key' => array('id'),
danielebarchiesi@0 212 'unique keys' => array(
danielebarchiesi@0 213 'name' => array('name')
danielebarchiesi@0 214 ),
danielebarchiesi@0 215 );
danielebarchiesi@0 216
danielebarchiesi@0 217 return $schema;
danielebarchiesi@0 218 }