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