summaryrefslogtreecommitdiff
path: root/modules/upload/upload.install
blob: b09174afd3089406c844ff0d90dc365a45ad7f2c (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
<?php
// $Id$

/**
 * @file
 * Install, update and uninstall functions for the upload module.
 */

/**
 * @file
 * This is the install file for the upload module.
 */

/**
 * Implementation of hook_install().
 */
function upload_install() {
  // Create table. The upload table might have been created in the Drupal 5
  // to Drupal 6 upgrade, and was migrated from the file_revisions table. So
  // in this case, there is no need to create the table, it is already there.
  if (!db_table_exists('upload')) {
    drupal_install_schema('upload');
  }
}

/**
 * Implementation of hook_uninstall().
 */
function upload_uninstall() {
  // Remove tables.
  drupal_uninstall_schema('upload');
}

/**
 * Implementation of hook_schema().
 */
function upload_schema() {
  $schema['upload'] = array(
    'description' => 'Stores uploaded file information and table associations.',
    'fields' => array(
      'fid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'description' => 'Primary Key: The {files}.fid.',
      ),
      'nid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'description' => 'The {node}.nid associated with the uploaded file.',
      ),
      'vid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'description' => 'Primary Key: The {node}.vid associated with the uploaded file.',
      ),
      'description' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '',
        'description' => 'Description of the uploaded file.',
      ),
      'list' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
        'size' => 'tiny',
        'description' => 'Whether the file should be visibly listed on the node: yes(1) or no(0).',
      ),
      'weight' => array(
        'type' => 'int',
        'not null' => TRUE,
        'default' => 0,
        'size' => 'tiny',
        'description' => 'Weight of this upload in relation to other uploads in this node.',
      ),
    ),
    'primary key' => array('vid', 'fid'),
    'indexes' => array(
      'fid' => array('fid'),
      'nid' => array('nid'),
    ),
  );

  return $schema;
}