<?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'), ); return $schema; }