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;
}