| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 | <?php/** * Implements hook_install */function tripal_bulk_loader_install(){   drupal_install_schema('tripal_bulk_loader');}/** * Implements hook_uninstall */function tripal_bulk_loader_uninstall(){   drupal_uninstall_schema('tripal_bulk_loader');}/** * Implements hook_schema * * Creates the following tables in the Drupal database: *  - tripal_bulk_loader: Stores extra details for bulk loading jobs (nodes) *  - tripal_bulk_loader_template: Stores all loading templates *  - tripal_bulk_loader_inserted: Keeps track of all records inserted for a given bulk loading job */function tripal_bulk_loader_schema() {	$schema = array();	$schema['tripal_bulk_loader'] = array(      'fields' => array(         'nid' => array(            'type' => 'int',            'unsigned' => TRUE,            'not null' => TRUE,			),         'loader_name' => array(            'type' => 'varchar',			),         'template_id' => array(            'type' => 'varchar',			),			'file' => array(        'type' => 'varchar',        'not null' => TRUE			),			'job_id' => array(			  'type' => 'int',			),			'job_status' => array(			  'type' => 'varchar',			),			'file_has_header' => array(				'type' => 'int',				'size' => 'tiny',				'not null' => TRUE,        'default' => 0,			),		),  		'primary key' => array('nid'),  		'unique keys' => array(    		'name' => array('loader_name')		),	);	$schema['tripal_bulk_loader_template'] = array(      'fields' => array(         'template_id' => array(            'type' => 'serial',            'unsigned' => TRUE,            'not null' => TRUE,			),			'name' => array(            'type' => 'varchar',			),         'template_array' => array(            'type' => 'varchar',			)		),  		'primary key' => array('template_id'),		'unique keys' => array(    		'name' => array('name')		),	);	$schema['tripal_bulk_loader_inserted'] = array(	  'fields' => array(	    'tripal_bulk_loader_inserted_id' => array(	      'type' => 'serial',	      'not null' => TRUE	    ),      'nid' => array(        'type' => 'int',        'unsigned' => TRUE,        'not null' => TRUE,			),			'table_inserted_into' => array(			  'type' => 'varchar',			  'not null' => TRUE,			),			'table_primary_key' => array(			  'type' => 'varchar',			  'not null' => TRUE,			),			'ids_inserted' => array(			  'type' => 'text',			  'not null' => TRUE			),	  ),	  'primary key' => array('tripal_bulk_loader_inserted_id'),	);	$schema['tripal_bulk_loader_constants'] = array(	  'fields' => array(	    'constant_id' => array(	      'type' => 'serial',	      'not null' => TRUE	    ),      'nid' => array(        'type' => 'int',        'unsigned' => TRUE,        'not null' => TRUE,      ),      'group_id' => array(        'type' => 'int',        'unsigned' => TRUE,        'not null' => TRUE,        'default' => 0      ),      'chado_table' => array(        'type' => 'varchar',        'not null' => TRUE,      ),      'chado_field' => array(        'type' => 'varchar',        'not null' => TRUE,      ),      'record_id' => array(        'type' => 'int',        'not null' => TRUE      ),      'field_id' => array(        'type' => 'int',        'not null' => TRUE      ),      'value' => array(        'type' => 'text',      ),	  ),	  'primary key' => array('constant_id'),	);		return $schema;}/** * Update schema for version 6.x-0.3.1b-1.5 * - Add the tripal_bulk_loader_constants table */function tripal_bulk_loader_update_6150 () {  // Create tripal_bulk_loader_constants table  $schema = tripal_bulk_loader_schema();  $ret = array();  db_create_table($ret, 'tripal_bulk_loader_constants', $schema['tripal_bulk_loader_constants']);    return $ret;  }/** * Update schema for version 6.x-0.3.1b-1.5 * - Add the tripal_bulk_loader_constants.group_id column  *   to allow multiple sets of constants per job */function tripal_bulk_loader_update_6151 () {  $ret = array();    $schema = tripal_bulk_loader_schema();  db_add_field(    $ret,     'tripal_bulk_loader_constants',     'group_id',     array(        'type' => 'int',        'unsigned' => TRUE,        'not null' => TRUE,        'default' => 0      )    );  return $ret;  }
 |