summaryrefslogtreecommitdiff
path: root/modules/taxonomy/taxonomy.schema
blob: 36d1712515846a102753b7b88cc89a82ba877067 (plain)
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
<?php
// $Id$

function taxonomy_schema() {
  $schema['term_data'] = array(
    'fields' => array(
      'tid'         => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
      'vid'         => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'name'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'description' => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
      'weight'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
    ),
    'primary key' => array('tid'),
    'indexes' => array('vid' => array('vid')),
  );

  $schema['term_hierarchy'] = array(
    'fields' => array(
      'tid'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'parent' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
    ),
    'indexes' => array(
      'parent' => array('parent'),
      'tid'    => array('tid')
    ),
    'primary key' => array('tid', 'parent'),
  );

  $schema['term_node'] = array(
    'fields' => array(
      'nid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'vid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'tid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
    ),
    'indexes' => array(
      'nid' => array('nid'),
      'tid' => array('tid'),
      'vid' => array('vid')
    ),
    'primary key' => array(
      'vid',
      'tid',
      'nid'
    ),
  );

  $schema['term_relation'] = array(
    'fields' => array(
      'trid' => array('type' => 'serial', 'not null' => TRUE),
      'tid1' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'tid2' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0)
    ),
    'indexes' => array(
      'tid1' => array('tid1'),
      'tid2' => array('tid2')
    ),
    'primary key' => array('trid'),
  );

  $schema['term_synonym'] = array(
    'fields' => array(
      'tsid' => array('type' => 'serial', 'not null' => TRUE),
      'tid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'name' => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => '')
    ),
    'indexes' => array(
      'name' => array(array('name', 3)),
      'tid'  => array('tid')
    ),
    'primary key' => array('tsid'),
  );

  $schema['vocabulary'] = array(
    'fields' => array(
      'vid'         => array('type' => 'serial', 'unsigned' => TRUE, 'not null' => TRUE),
      'name'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'description' => array('type' => 'text', 'not null' => FALSE, 'size' => 'big'),
      'help'        => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'relations'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
      'hierarchy'   => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
      'multiple'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
      'required'    => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
      'tags'        => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'size' => 'tiny'),
      'module'      => array('type' => 'varchar', 'length' => 255, 'not null' => TRUE, 'default' => ''),
      'weight'      => array('type' => 'int', 'not null' => TRUE, 'default' => 0, 'size' => 'tiny')
    ),
    'primary key' => array('vid'),
  );

  $schema['vocabulary_node_types'] = array(
    'fields' => array(
      'vid'  => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
      'type' => array('type' => 'varchar', 'length' => 32, 'not null' => TRUE, 'default' => '')
    ),
    'primary key' => array('vid', 'type'),
  );

  return $schema;
}