Stephen Ficklin преди 7 години
родител
ревизия
57c2b3934f
променени са 1 файла, в които са добавени 64 реда и са изтрити 33 реда
  1. 64 33
      tripal/tripal.install

+ 64 - 33
tripal/tripal.install

@@ -101,12 +101,18 @@ function tripal_enable() {
     db_query($sql);
     $sql = "ALTER TABLE tripal_jobs2 RENAME to tripal_jobs";
     db_query($sql);
-    $sql = "ALTER INDEX tripal_jobs_job_id_idx2 RENAME TO tripal_jobs_job_id_idx";
-    db_query($sql);
-    $sql = "ALTER INDEX tripal_jobs_job_name_idx2 RENAME TO tripal_jobs_job_name_idx";
-    db_query($sql);
-    $sql = "ALTER INDEX tripal_jobs_pkey2 RENAME TO tripal_jobs_pkey";
-    db_query($sql);
+    if (db_index_exists('tripal_jobs', 'tripal_jobs_job_id_idx2')) {
+      $sql = "ALTER INDEX tripal_jobs_job_id_idx2 RENAME TO tripal_jobs_job_id_idx";
+      db_query($sql);
+    }
+    if (db_index_exists('tripal_jobs', 'tripal_jobs_job_name_idx2')) {
+      $sql = "ALTER INDEX tripal_jobs_job_name_idx2 RENAME TO tripal_jobs_job_name_idx";
+      db_query($sql);
+    }
+    if (db_index_exists('tripal_jobs', 'tripal_jobs_pkey2')) {
+      $sql = "ALTER INDEX tripal_jobs_pkey2 RENAME TO tripal_jobs_pkey";
+      db_query($sql);
+    }
     // schema change
     $sql = "ALTER TABLE tripal_jobs ADD COLUMN includes text";
     db_query($sql);
@@ -117,10 +123,14 @@ function tripal_enable() {
     db_query($sql);
     $sql = "ALTER TABLE tripal_token_formats2 RENAME TO tripal_token_formats";
     db_query($sql);
-    $sql = "ALTER INDEX tripal_token_formats_pkey2 RENAME TO tripal_token_formats_pkey";
-    db_query($sql);
-    $sql = "ALTER INDEX tripal_token_formats_type_application_key2 RENAME TO tripal_token_formats_type_application_key";
-    db_query($sql);
+    if (db_index_exists('tripal_token_formats', 'tripal_token_formats_pkey2')) {
+      $sql = "ALTER INDEX tripal_token_formats_pkey2 RENAME TO tripal_token_formats_pkey";
+      db_query($sql);
+    }
+    if (db_index_exists('tripal_token_formats', 'tripal_token_formats_type_application_key2')) {
+      $sql = "ALTER INDEX tripal_token_formats_type_application_key2 RENAME TO tripal_token_formats_type_application_key";
+      db_query($sql);
+    }
   }
 
   if (db_table_exists('tripal_variables2')) {
@@ -128,13 +138,18 @@ function tripal_enable() {
     db_query($sql);
     $sql = "ALTER TABLE tripal_variables2 RENAME TO tripal_variables";
     db_query($sql);
-    $sql = "ALTER INDEX tripal_variables_pkey2 RENAME TO tripal_variables_pkey";
-    db_query($sql);
-    $sql = "ALTER INDEX tripal_variables_tripal_variable_names_idx1_idx2 RENAME TO tripal_variables_tripal_variable_names_idx1_idx";
-    db_query($sql);
-    $sql = "ALTER INDEX tripal_variables_tripal_variables_c1_key2 RENAME TO tripal_variables_tripal_variables_c1_key";
-    db_query($sql);
-
+    if (db_index_exists('tripal_variables', 'tripal_variables_pkey2')) {
+      $sql = "ALTER INDEX tripal_variables_pkey2 RENAME TO tripal_variables_pkey";
+      db_query($sql);
+    }
+    if (db_index_exists('tripal_variables', 'tripal_variables_tripal_variable_names_idx1_idx2')) {
+      $sql = "ALTER INDEX tripal_variables_tripal_variable_names_idx1_idx2 RENAME TO tripal_variables_tripal_variable_names_idx1_idx";
+      db_query($sql);
+    }
+    if (db_index_exists('tripal_variables', 'tripal_variables_tripal_variables_c1_key2')) {
+      $sql = "ALTER INDEX tripal_variables_tripal_variables_c1_key2 RENAME TO tripal_variables_tripal_variables_c1_key";
+      db_query($sql);
+    }
   }
   tripal_add_variables();
 }
@@ -156,34 +171,50 @@ function tripal_schema() {
       // Move the tripal_jobs table out of the way.
       $sql = "ALTER TABLE tripal_jobs RENAME TO tripal_jobs2";
       db_query($sql);
-      $sql = "ALTER INDEX tripal_jobs_job_id_idx RENAME TO tripal_jobs_job_id_idx2";
-      db_query($sql);
-      $sql = "ALTER INDEX tripal_jobs_job_name_idx RENAME TO tripal_jobs_job_name_idx2";
-      db_query($sql);
-      $sql = "ALTER INDEX tripal_jobs_pkey RENAME TO tripal_jobs_pkey2";
-      db_query($sql);
+      if (db_index_exists('tripal_jobs', 'tripal_jobs_job_id_idx')) {
+        $sql = "ALTER INDEX tripal_jobs_job_id_idx RENAME TO tripal_jobs_job_id_idx2";
+        db_query($sql);
+      }
+      if (db_index_exists('tripal_jobs', 'tripal_jobs_job_name_idx')) {
+        $sql = "ALTER INDEX tripal_jobs_job_name_idx RENAME TO tripal_jobs_job_name_idx2";
+        db_query($sql);
+      }
+      if (db_index_exists('tripal_jobs', 'tripal_jobs_pkey')) {
+        $sql = "ALTER INDEX tripal_jobs_pkey RENAME TO tripal_jobs_pkey2";
+        db_query($sql);
+      }
     }
 
     if (db_table_exists('tripal_token_formats')) {
       // Move the tripal_token_formats table out of the way.
       $sql = "ALTER TABLE tripal_token_formats RENAME TO tripal_token_formats2";
       db_query($sql);
-      $sql = "ALTER INDEX tripal_token_formats_pkey RENAME TO tripal_token_formats_pkey2";
-      db_query($sql);
-      $sql = "ALTER INDEX tripal_token_formats_type_application_key RENAME TO tripal_token_formats_type_application_key2";
-      db_query($sql);
+      if (db_index_exists('tripal_token_formats', 'tripal_token_formats_pkey')) {
+        $sql = "ALTER INDEX tripal_token_formats_pkey RENAME TO tripal_token_formats_pkey2";
+        db_query($sql);
+      }
+      if (db_index_exists('tripal_token_formats', 'tripal_token_formats_type_application_key')) {
+        $sql = "ALTER INDEX tripal_token_formats_type_application_key RENAME TO tripal_token_formats_type_application_key2";
+        db_query($sql);
+      }
     }
 
     if (db_table_exists('tripal_variables')) {
       // Move the tripal_variables table out of the way.
       $sql = "ALTER TABLE tripal_variables RENAME TO tripal_variables2";
       db_query($sql);
-      $sql = "ALTER INDEX tripal_variables_pkey RENAME TO tripal_variables_pkey2";
-      db_query($sql);
-      $sql = "ALTER INDEX tripal_variables_tripal_variable_names_idx1_idx RENAME TO tripal_variables_tripal_variable_names_idx1_idx2";
-      db_query($sql);
-      $sql = "ALTER INDEX tripal_variables_tripal_variables_c1_key RENAME TO tripal_variables_tripal_variables_c1_key2";
-      db_query($sql);
+      if (db_index_exists('tripal_variables', 'tripal_variables_pkey')) {
+        $sql = "ALTER INDEX tripal_variables_pkey RENAME TO tripal_variables_pkey2";
+        db_query($sql);
+      }
+      if (db_index_exists('tripal_variables', 'tripal_variables_tripal_variable_names_idx1_idx')) {
+        $sql = "ALTER INDEX tripal_variables_tripal_variable_names_idx1_idx RENAME TO tripal_variables_tripal_variable_names_idx1_idx2";
+        db_query($sql);
+      }
+      if (db_index_exists('tripal_variables', 'tripal_variables_tripal_variables_c1_key')) {
+        $sql = "ALTER INDEX tripal_variables_tripal_variables_c1_key RENAME TO tripal_variables_tripal_variables_c1_key2";
+        db_query($sql);
+      }
     }
     variable_set ('tripal_v2_upgrade_v3_check', TRUE);
   }