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()

Add custom tables needed by the feature map module

  • featuremapprop
  • featuremap_dbxref
  • featureposprop

Related topics

1 call to tripal_featuremap_add_custom_tables()
tripal_featuremap_install in tripal_featuremap/tripal_featuremap.install
Implementation of hook_install().

File

tripal_featuremap/tripal_featuremap.install, line 313
Handles installation of the feature map module

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',
        ),
      ),
    ),
  );
  chado_create_custom_table('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,
  );
  chado_create_custom_table('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',
        ),
      ),
    ),
  );
  chado_create_custom_table('featureposprop', $schema, TRUE);
}