Mercurial > defr > drupal > core
comparison modules/taxonomy/taxonomy.install @ 19:3edae6ecd6c6 6.9
Drupal 6.9
author | Franck Deroche <franck@defr.org> |
---|---|
date | Thu, 15 Jan 2009 10:15:56 +0100 |
parents | c1f4ac30525a |
children |
comparison
equal
deleted
inserted
replaced
18:f5131a9cd9e5 | 19:3edae6ecd6c6 |
---|---|
1 <?php | 1 <?php |
2 // $Id: taxonomy.install,v 1.7 2008/01/08 07:46:41 goba Exp $ | 2 // $Id: taxonomy.install,v 1.7.2.1 2009/01/06 15:46:38 goba Exp $ |
3 | 3 |
4 /** | 4 /** |
5 * Implementation of hook_schema(). | 5 * Implementation of hook_schema(). |
6 */ | 6 */ |
7 function taxonomy_schema() { | 7 function taxonomy_schema() { |
8 $schema['term_data'] = array( | 8 $schema['term_data'] = array( |
9 'description' => t('Stores term information.'), | 9 'description' => 'Stores term information.', |
10 'fields' => array( | 10 'fields' => array( |
11 'tid' => array( | 11 'tid' => array( |
12 'type' => 'serial', | 12 'type' => 'serial', |
13 'unsigned' => TRUE, | 13 'unsigned' => TRUE, |
14 'not null' => TRUE, | 14 'not null' => TRUE, |
15 'description' => t('Primary Key: Unique term ID.'), | 15 'description' => 'Primary Key: Unique term ID.', |
16 ), | 16 ), |
17 'vid' => array( | 17 'vid' => array( |
18 'type' => 'int', | 18 'type' => 'int', |
19 'unsigned' => TRUE, | 19 'unsigned' => TRUE, |
20 'not null' => TRUE, | 20 'not null' => TRUE, |
21 'default' => 0, | 21 'default' => 0, |
22 'description' => t('The {vocabulary}.vid of the vocabulary to which the term is assigned.'), | 22 'description' => 'The {vocabulary}.vid of the vocabulary to which the term is assigned.', |
23 ), | 23 ), |
24 'name' => array( | 24 'name' => array( |
25 'type' => 'varchar', | 25 'type' => 'varchar', |
26 'length' => 255, | 26 'length' => 255, |
27 'not null' => TRUE, | 27 'not null' => TRUE, |
28 'default' => '', | 28 'default' => '', |
29 'description' => t('The term name.'), | 29 'description' => 'The term name.', |
30 ), | 30 ), |
31 'description' => array( | 31 'description' => array( |
32 'type' => 'text', | 32 'type' => 'text', |
33 'not null' => FALSE, | 33 'not null' => FALSE, |
34 'size' => 'big', | 34 'size' => 'big', |
35 'description' => t('A description of the term.'), | 35 'description' => 'A description of the term.', |
36 ), | 36 ), |
37 'weight' => array( | 37 'weight' => array( |
38 'type' => 'int', | 38 'type' => 'int', |
39 'not null' => TRUE, | 39 'not null' => TRUE, |
40 'default' => 0, | 40 'default' => 0, |
41 'size' => 'tiny', | 41 'size' => 'tiny', |
42 'description' => t('The weight of this term in relation to other terms.'), | 42 'description' => 'The weight of this term in relation to other terms.', |
43 ), | 43 ), |
44 ), | 44 ), |
45 'primary key' => array('tid'), | 45 'primary key' => array('tid'), |
46 'indexes' => array( | 46 'indexes' => array( |
47 'taxonomy_tree' => array('vid', 'weight', 'name'), | 47 'taxonomy_tree' => array('vid', 'weight', 'name'), |
48 'vid_name' => array('vid', 'name'), | 48 'vid_name' => array('vid', 'name'), |
49 ), | 49 ), |
50 ); | 50 ); |
51 | 51 |
52 $schema['term_hierarchy'] = array( | 52 $schema['term_hierarchy'] = array( |
53 'description' => t('Stores the hierarchical relationship between terms.'), | 53 'description' => 'Stores the hierarchical relationship between terms.', |
54 'fields' => array( | 54 'fields' => array( |
55 'tid' => array( | 55 'tid' => array( |
56 'type' => 'int', | 56 'type' => 'int', |
57 'unsigned' => TRUE, | 57 'unsigned' => TRUE, |
58 'not null' => TRUE, | 58 'not null' => TRUE, |
59 'default' => 0, | 59 'default' => 0, |
60 'description' => t('Primary Key: The {term_data}.tid of the term.'), | 60 'description' => 'Primary Key: The {term_data}.tid of the term.', |
61 ), | 61 ), |
62 'parent' => array( | 62 'parent' => array( |
63 'type' => 'int', | 63 'type' => 'int', |
64 'unsigned' => TRUE, | 64 'unsigned' => TRUE, |
65 'not null' => TRUE, | 65 'not null' => TRUE, |
66 'default' => 0, | 66 'default' => 0, |
67 'description' => t("Primary Key: The {term_data}.tid of the term's parent. 0 indicates no parent."), | 67 'description' => "Primary Key: The {term_data}.tid of the term's parent. 0 indicates no parent.", |
68 ), | 68 ), |
69 ), | 69 ), |
70 'indexes' => array( | 70 'indexes' => array( |
71 'parent' => array('parent'), | 71 'parent' => array('parent'), |
72 ), | 72 ), |
73 'primary key' => array('tid', 'parent'), | 73 'primary key' => array('tid', 'parent'), |
74 ); | 74 ); |
75 | 75 |
76 $schema['term_node'] = array( | 76 $schema['term_node'] = array( |
77 'description' => t('Stores the relationship of terms to nodes.'), | 77 'description' => 'Stores the relationship of terms to nodes.', |
78 'fields' => array( | 78 'fields' => array( |
79 'nid' => array( | 79 'nid' => array( |
80 'type' => 'int', | 80 'type' => 'int', |
81 'unsigned' => TRUE, | 81 'unsigned' => TRUE, |
82 'not null' => TRUE, | 82 'not null' => TRUE, |
83 'default' => 0, | 83 'default' => 0, |
84 'description' => t('Primary Key: The {node}.nid of the node.'), | 84 'description' => 'Primary Key: The {node}.nid of the node.', |
85 ), | 85 ), |
86 'vid' => array( | 86 'vid' => array( |
87 'type' => 'int', | 87 'type' => 'int', |
88 'unsigned' => TRUE, | 88 'unsigned' => TRUE, |
89 'not null' => TRUE, | 89 'not null' => TRUE, |
90 'default' => 0, | 90 'default' => 0, |
91 'description' => t('Primary Key: The {node}.vid of the node.'), | 91 'description' => 'Primary Key: The {node}.vid of the node.', |
92 ), | 92 ), |
93 'tid' => array( | 93 'tid' => array( |
94 'type' => 'int', | 94 'type' => 'int', |
95 'unsigned' => TRUE, | 95 'unsigned' => TRUE, |
96 'not null' => TRUE, | 96 'not null' => TRUE, |
97 'default' => 0, | 97 'default' => 0, |
98 'description' => t('Primary Key: The {term_data}.tid of a term assigned to the node.'), | 98 'description' => 'Primary Key: The {term_data}.tid of a term assigned to the node.', |
99 ), | 99 ), |
100 ), | 100 ), |
101 'indexes' => array( | 101 'indexes' => array( |
102 'vid' => array('vid'), | 102 'vid' => array('vid'), |
103 'nid' => array('nid'), | 103 'nid' => array('nid'), |
104 ), | 104 ), |
105 'primary key' => array('tid', 'vid'), | 105 'primary key' => array('tid', 'vid'), |
106 ); | 106 ); |
107 | 107 |
108 $schema['term_relation'] = array( | 108 $schema['term_relation'] = array( |
109 'description' => t('Stores non-hierarchical relationships between terms.'), | 109 'description' => 'Stores non-hierarchical relationships between terms.', |
110 'fields' => array( | 110 'fields' => array( |
111 'trid' => array( | 111 'trid' => array( |
112 'type' => 'serial', | 112 'type' => 'serial', |
113 'not null' => TRUE, | 113 'not null' => TRUE, |
114 'description' => t('Primary Key: Unique term relation ID.'), | 114 'description' => 'Primary Key: Unique term relation ID.', |
115 ), | 115 ), |
116 'tid1' => array( | 116 'tid1' => array( |
117 'type' => 'int', | 117 'type' => 'int', |
118 'unsigned' => TRUE, | 118 'unsigned' => TRUE, |
119 'not null' => TRUE, | 119 'not null' => TRUE, |
120 'default' => 0, | 120 'default' => 0, |
121 'description' => t('The {term_data}.tid of the first term in a relationship.'), | 121 'description' => 'The {term_data}.tid of the first term in a relationship.', |
122 ), | 122 ), |
123 'tid2' => array( | 123 'tid2' => array( |
124 'type' => 'int', | 124 'type' => 'int', |
125 'unsigned' => TRUE, | 125 'unsigned' => TRUE, |
126 'not null' => TRUE, | 126 'not null' => TRUE, |
127 'default' => 0, | 127 'default' => 0, |
128 'description' => t('The {term_data}.tid of the second term in a relationship.'), | 128 'description' => 'The {term_data}.tid of the second term in a relationship.', |
129 ), | 129 ), |
130 ), | 130 ), |
131 'unique keys' => array( | 131 'unique keys' => array( |
132 'tid1_tid2' => array('tid1', 'tid2'), | 132 'tid1_tid2' => array('tid1', 'tid2'), |
133 ), | 133 ), |
136 ), | 136 ), |
137 'primary key' => array('trid'), | 137 'primary key' => array('trid'), |
138 ); | 138 ); |
139 | 139 |
140 $schema['term_synonym'] = array( | 140 $schema['term_synonym'] = array( |
141 'description' => t('Stores term synonyms.'), | 141 'description' => 'Stores term synonyms.', |
142 'fields' => array( | 142 'fields' => array( |
143 'tsid' => array( | 143 'tsid' => array( |
144 'type' => 'serial', | 144 'type' => 'serial', |
145 'not null' => TRUE, | 145 'not null' => TRUE, |
146 'description' => t('Primary Key: Unique term synonym ID.'), | 146 'description' => 'Primary Key: Unique term synonym ID.', |
147 ), | 147 ), |
148 'tid' => array( | 148 'tid' => array( |
149 'type' => 'int', | 149 'type' => 'int', |
150 'unsigned' => TRUE, | 150 'unsigned' => TRUE, |
151 'not null' => TRUE, | 151 'not null' => TRUE, |
152 'default' => 0, | 152 'default' => 0, |
153 'description' => t('The {term_data}.tid of the term.'), | 153 'description' => 'The {term_data}.tid of the term.', |
154 ), | 154 ), |
155 'name' => array( | 155 'name' => array( |
156 'type' => 'varchar', | 156 'type' => 'varchar', |
157 'length' => 255, | 157 'length' => 255, |
158 'not null' => TRUE, | 158 'not null' => TRUE, |
159 'default' => '', | 159 'default' => '', |
160 'description' => t('The name of the synonym.'), | 160 'description' => 'The name of the synonym.', |
161 ), | 161 ), |
162 ), | 162 ), |
163 'indexes' => array( | 163 'indexes' => array( |
164 'tid' => array('tid'), | 164 'tid' => array('tid'), |
165 'name_tid' => array('name', 'tid'), | 165 'name_tid' => array('name', 'tid'), |
166 ), | 166 ), |
167 'primary key' => array('tsid'), | 167 'primary key' => array('tsid'), |
168 ); | 168 ); |
169 | 169 |
170 $schema['vocabulary'] = array( | 170 $schema['vocabulary'] = array( |
171 'description' => t('Stores vocabulary information.'), | 171 'description' => 'Stores vocabulary information.', |
172 'fields' => array( | 172 'fields' => array( |
173 'vid' => array( | 173 'vid' => array( |
174 'type' => 'serial', | 174 'type' => 'serial', |
175 'unsigned' => TRUE, | 175 'unsigned' => TRUE, |
176 'not null' => TRUE, | 176 'not null' => TRUE, |
177 'description' => t('Primary Key: Unique vocabulary ID.'), | 177 'description' => 'Primary Key: Unique vocabulary ID.', |
178 ), | 178 ), |
179 'name' => array( | 179 'name' => array( |
180 'type' => 'varchar', | 180 'type' => 'varchar', |
181 'length' => 255, | 181 'length' => 255, |
182 'not null' => TRUE, | 182 'not null' => TRUE, |
183 'default' => '', | 183 'default' => '', |
184 'description' => t('Name of the vocabulary.'), | 184 'description' => 'Name of the vocabulary.', |
185 ), | 185 ), |
186 'description' => array( | 186 'description' => array( |
187 'type' => 'text', | 187 'type' => 'text', |
188 'not null' => FALSE, | 188 'not null' => FALSE, |
189 'size' => 'big', | 189 'size' => 'big', |
190 'description' => t('Description of the vocabulary.'), | 190 'description' => 'Description of the vocabulary.', |
191 ), | 191 ), |
192 'help' => array( | 192 'help' => array( |
193 'type' => 'varchar', | 193 'type' => 'varchar', |
194 'length' => 255, | 194 'length' => 255, |
195 'not null' => TRUE, | 195 'not null' => TRUE, |
196 'default' => '', | 196 'default' => '', |
197 'description' => t('Help text to display for the vocabulary.'), | 197 'description' => 'Help text to display for the vocabulary.', |
198 ), | 198 ), |
199 'relations' => array( | 199 'relations' => array( |
200 'type' => 'int', | 200 'type' => 'int', |
201 'unsigned' => TRUE, | 201 'unsigned' => TRUE, |
202 'not null' => TRUE, | 202 'not null' => TRUE, |
203 'default' => 0, | 203 'default' => 0, |
204 'size' => 'tiny', | 204 'size' => 'tiny', |
205 'description' => t('Whether or not related terms are enabled within the vocabulary. (0 = disabled, 1 = enabled)'), | 205 'description' => 'Whether or not related terms are enabled within the vocabulary. (0 = disabled, 1 = enabled)', |
206 ), | 206 ), |
207 'hierarchy' => array( | 207 'hierarchy' => array( |
208 'type' => 'int', | 208 'type' => 'int', |
209 'unsigned' => TRUE, | 209 'unsigned' => TRUE, |
210 'not null' => TRUE, | 210 'not null' => TRUE, |
211 'default' => 0, | 211 'default' => 0, |
212 'size' => 'tiny', | 212 'size' => 'tiny', |
213 'description' => t('The type of hierarchy allowed within the vocabulary. (0 = disabled, 1 = single, 2 = multiple)'), | 213 'description' => 'The type of hierarchy allowed within the vocabulary. (0 = disabled, 1 = single, 2 = multiple)', |
214 ), | 214 ), |
215 'multiple' => array( | 215 'multiple' => array( |
216 'type' => 'int', | 216 'type' => 'int', |
217 'unsigned' => TRUE, | 217 'unsigned' => TRUE, |
218 'not null' => TRUE, | 218 'not null' => TRUE, |
219 'default' => 0, | 219 'default' => 0, |
220 'size' => 'tiny', | 220 'size' => 'tiny', |
221 'description' => t('Whether or not multiple terms from this vocabulary may be assigned to a node. (0 = disabled, 1 = enabled)'), | 221 'description' => 'Whether or not multiple terms from this vocabulary may be assigned to a node. (0 = disabled, 1 = enabled)', |
222 ), | 222 ), |
223 'required' => array( | 223 'required' => array( |
224 'type' => 'int', | 224 'type' => 'int', |
225 'unsigned' => TRUE, | 225 'unsigned' => TRUE, |
226 'not null' => TRUE, | 226 'not null' => TRUE, |
227 'default' => 0, | 227 'default' => 0, |
228 'size' => 'tiny', | 228 'size' => 'tiny', |
229 'description' => t('Whether or not terms are required for nodes using this vocabulary. (0 = disabled, 1 = enabled)'), | 229 'description' => 'Whether or not terms are required for nodes using this vocabulary. (0 = disabled, 1 = enabled)', |
230 ), | 230 ), |
231 'tags' => array( | 231 'tags' => array( |
232 'type' => 'int', | 232 'type' => 'int', |
233 'unsigned' => TRUE, | 233 'unsigned' => TRUE, |
234 'not null' => TRUE, | 234 'not null' => TRUE, |
235 'default' => 0, | 235 'default' => 0, |
236 'size' => 'tiny', | 236 'size' => 'tiny', |
237 'description' => t('Whether or not free tagging is enabled for the vocabulary. (0 = disabled, 1 = enabled)'), | 237 'description' => 'Whether or not free tagging is enabled for the vocabulary. (0 = disabled, 1 = enabled)', |
238 ), | 238 ), |
239 'module' => array( | 239 'module' => array( |
240 'type' => 'varchar', | 240 'type' => 'varchar', |
241 'length' => 255, | 241 'length' => 255, |
242 'not null' => TRUE, | 242 'not null' => TRUE, |
243 'default' => '', | 243 'default' => '', |
244 'description' => t('The module which created the vocabulary.'), | 244 'description' => 'The module which created the vocabulary.', |
245 ), | 245 ), |
246 'weight' => array( | 246 'weight' => array( |
247 'type' => 'int', | 247 'type' => 'int', |
248 'not null' => TRUE, | 248 'not null' => TRUE, |
249 'default' => 0, | 249 'default' => 0, |
250 'size' => 'tiny', | 250 'size' => 'tiny', |
251 'description' => t('The weight of the vocabulary in relation to other vocabularies.'), | 251 'description' => 'The weight of the vocabulary in relation to other vocabularies.', |
252 ), | 252 ), |
253 ), | 253 ), |
254 'primary key' => array('vid'), | 254 'primary key' => array('vid'), |
255 'indexes' => array( | 255 'indexes' => array( |
256 'list' => array('weight', 'name'), | 256 'list' => array('weight', 'name'), |
257 ), | 257 ), |
258 ); | 258 ); |
259 | 259 |
260 $schema['vocabulary_node_types'] = array( | 260 $schema['vocabulary_node_types'] = array( |
261 'description' => t('Stores which node types vocabularies may be used with.'), | 261 'description' => 'Stores which node types vocabularies may be used with.', |
262 'fields' => array( | 262 'fields' => array( |
263 'vid' => array( | 263 'vid' => array( |
264 'type' => 'int', | 264 'type' => 'int', |
265 'unsigned' => TRUE, | 265 'unsigned' => TRUE, |
266 'not null' => TRUE, | 266 'not null' => TRUE, |
267 'default' => 0, | 267 'default' => 0, |
268 'description' => t('Primary Key: the {vocabulary}.vid of the vocabulary.'), | 268 'description' => 'Primary Key: the {vocabulary}.vid of the vocabulary.', |
269 ), | 269 ), |
270 'type' => array( | 270 'type' => array( |
271 'type' => 'varchar', | 271 'type' => 'varchar', |
272 'length' => 32, | 272 'length' => 32, |
273 'not null' => TRUE, | 273 'not null' => TRUE, |
274 'default' => '', | 274 'default' => '', |
275 'description' => t('The {node}.type of the node type for which the vocabulary may be used.'), | 275 'description' => 'The {node}.type of the node type for which the vocabulary may be used.', |
276 ), | 276 ), |
277 ), | 277 ), |
278 'primary key' => array('type', 'vid'), | 278 'primary key' => array('type', 'vid'), |
279 'indexes' => array( | 279 'indexes' => array( |
280 'vid' => array('vid'), | 280 'vid' => array('vid'), |