function tripal_featuremap_add_custom_tables

2.x tripal_featuremap.install tripal_featuremap_add_custom_tables()
1.x tripal_featuremap.install tripal_featuremap_add_custom_tables()
2 calls to tripal_featuremap_add_custom_tables()
tripal_featuremap_install in tripal_featuremap/tripal_featuremap.install
Implementation of hook_install().
tripal_featuremap_update_6100 in tripal_featuremap/tripal_featuremap.install
Update for Drupal 6.x, Tripal 1.1, FeatureMap Module 1.1 This update adds a new featuremapprop, featureposprop, and featuremap_dbxref tables and CV terms for the featuremap_property CV

File

tripal_featuremap/tripal_featuremap.install, line 161
@todo Add file header description

Code

function tripal_featuremap_add_custom_tables() {
  // add the featuremaprop table to Chado
  $schema = array(
    'table' => 'featuremapprop',
    'fields' => array(
      'featuremapprop_id' => array(
        'type' => 'serial',
        'not null' => true,
      ),
      'featuremap_id' => array(
        'type' => 'int',
        'not null' => true,
      ),
      'type_id' => array(
        'type' => 'int',
        'not null' => true,
      ),
      'value' => array(
        'type' => 'text',
        'not null' => false,
      ),
      'rank' => array(
        'type' => 'int',
        'not null' => true,
        'default' => 0,
      ),
    ),
    'primary key' => array(
      0 => 'featuremapprop_id',
    ),
    'unique keys' => array(
      'featuremapprop_c1' => array(
        0 => 'featuremap_id',
        1 => 'type_id',
        2 => 'rank',
      ),
    ),
    'indexes' => array(
      'featuremapprop_idx1' => array(
        0 => 'featuremap_id',
      ),
      'featuremapprop_idx2' => array(
        0 => 'type_id',
      ),
    ),
    'foreign keys' => array(
      'cvterm' => array(
        'table' => 'cvterm',
        'columns' => array(
          'type_id' => 'cvterm_id',
        ),
      ),
      'featuremap' => array(
        'table' => 'featuremap',
        'columns' => array(
          'featuremap_id' => 'featuremap_id',
        ),
      ),
    ),
  );
  tripal_core_create_custom_table($ret, 'featuremapprop', $schema, TRUE);

  // add the featuremap_dbxref table to Chado
  $schema = array(
    'table' => 'featuremap_dbxref',
    'fields' => array(
      'featuremap_dbxref_id' => array(
        'type' => 'serial',
        'not null' => true,
      ),
      'featuremap_id' => array(
        'type' => 'int',
        'not null' => true,
      ),
      'dbxref_id' => array(
        'type' => 'int',
        'not null' => true,
      ),
    ),
    'primary key' => array(
      0 => 'featuremap_dbxref_id',
    ),
    'unique keys' => array(
      'featuremap_dbxref_c1' => array(
        0 => 'featuremap_id',
        1 => 'dbxref_id',
      ),
    ),
    'indexes' => array(
      'featuremap_dbxref_idx1' => array(
        0 => 'featuremap_dbxref_id',
      ),
      'featuremap_dbxref_idx2' => array(
        0 => 'dbxref_id',
      ),
    ),
    'foreign keys' => array(
      'dbxref' => array(
        'table' => 'dbxref',
        'columns' => array(
          'dbxref_id' => 'dbxref_id',
        ),
      ),
      'featuremap' => array(
        'table' => 'featuremap',
        'columns' => array(
          'featuremap_id' => 'featuremap_id',
        ),
      ),
    ),
    'referring_tables' => NULL,
  );
  tripal_core_create_custom_table($ret, 'featuremap_dbxref', $schema, TRUE);

  $schema = array(
    'table' => 'featureposprop',
    'fields' => array(
      'featureposprop_id' => array(
        'type' => 'serial',
        'not null' => true,
      ),
      'featurepos_id' => array(
        'type' => 'int',
        'not null' => true,
      ),
      'type_id' => array(
        'type' => 'int',
        'not null' => true,
      ),
      'value' => array(
        'type' => 'text',
        'not null' => false,
      ),
      'rank' => array(
        'type' => 'int',
        'not null' => true,
        'default' => 0,
      ),
    ),
    'primary key' => array(
      0 => 'featureposprop_id',
    ),
    'unique keys' => array(
      'featureposprop_id' => array(
        0 => 'featurepos_id',
        1 => 'type_id',
        2 => 'rank',
      ),
    ),
    'indexes' => array(
      'featureposprop_c1' => array(
        0 => 'featurepos_id',
      ),
      'featureposprop_idx2' => array(
        0 => 'type_id',
      ),
    ),
    'foreign keys' => array(
      'cvterm' => array(
        'table' => 'cvterm',
        'columns' => array(
          'type_id' => 'cvterm_id',
        ),
      ),
      'featurepos' => array(
        'table' => 'featurepos',
        'columns' => array(
          'featurepos_id' => 'featurepos_id',
        ),
      ),
    ),
  );
  tripal_core_create_custom_table($ret, 'featureposprop', $schema, TRUE);
}