function tripal_core_reset_chado_schema

2.x tripal_core.chado_install.inc tripal_core_reset_chado_schema()
1.x chado_install.inc tripal_core_reset_chado_schema()

Reset the Chado Schema This drops the current chado and chado-related schema and re-creates it

Related topics

3 calls to tripal_core_reset_chado_schema()
tripal_core_install_chado_1_11 in tripal_core/includes/tripal_core.chado_install.inc
tripal_core_install_chado_1_2 in tripal_core/includes/tripal_core.chado_install.inc
Installs Chado v1.2.
tripal_core_install_chado_1_3 in tripal_core/includes/tripal_core.chado_install.inc
Installs Chado v1.3.

File

tripal_core/includes/tripal_core.chado_install.inc, line 520
Functions to install chado schema through Drupal

Code

function tripal_core_reset_chado_schema() {

  // determine the schema name.
  $chado_schema = tripal_get_schema_name('chado');
  $chado_dot = $chado_schema . '.';

  // drop current chado and chado-related schema
  if (chado_dbschema_exists('genetic_code')) {
    print "Dropping existing 'genetic_code' schema\n";
    db_query("drop schema genetic_code cascade");
  }
  if (chado_dbschema_exists('so')) {
    print "Dropping existing 'so' schema\n";
    db_query("drop schema so cascade");
  }
  if (chado_dbschema_exists('frange')) {
    print "Dropping existing 'frange' schema\n";
    db_query("drop schema frange cascade");
  }
  if (chado_dbschema_exists($chado_schema)) {
    if ($chado_schema != 'chado') {
      print "Dropping existing Chado ('$chado_schema') schema\n";
    }
    else {
      print "Dropping existing 'chado' schema\n";
    }
    db_query("drop schema $chado_schema cascade");
  }

  // create the new chado schema
  print "Creating 'chado' schema\n";
  db_query("create schema $chado_schema");
  if (chado_dbschema_exists('chado')) {
    // before creating the plpgsql language let's check to make sure
    // it doesn't already exists
    $sql = "SELECT COUNT(*) FROM pg_language WHERE lanname = 'plpgsql'";
    $results = db_query($sql);
    $count = $results->fetchObject();
    if (!$count or $count->count == 0) {
      db_query("create language plpgsql");
    }
    return TRUE;
  }

  return FALSE;
}