浏览代码

Added fix for upgrade of T1 to T2 when the field_data_taxonomyextra table is missing

Stephen Ficklin 9 年之前
父节点
当前提交
f9bb48e56b

+ 25 - 23
tripal_analysis/tripal_analysis.install

@@ -332,29 +332,31 @@ function tripal_analysis_update_7200() {
   $vid = db_query("SELECT vid FROM {taxonomy_vocabulary} WHERE name = 'Analysis'")->fetchField();
   if ($vid) {
     try {
-      // first move from the field_data_taxonomyextra table
-      $sql = "
-        INSERT INTO {field_data_taxonomy_vocabulary_$vid}
-          (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
-        (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
-         FROM field_data_taxonomyextra
-         WHERE bundle = 'chado_feature')
-      ";
-      db_query($sql);
-      $sql = "DELETE FROM field_data_taxonomyextra WHERE bundle = 'chado_analysis'";
-      db_query($sql);
-
-      // next move from the field_revision_taxonomyextra table
-      $sql = "
-        INSERT INTO {field_revision_taxonomy_vocabulary_$vid}
-          (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
-        (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
-         FROM field_revision_taxonomyextra
-         WHERE bundle = 'chado_feature')
-      ";
-      db_query($sql);
-      $sql = "DELETE FROM field_revision_taxonomyextra WHERE bundle = 'chado_analysis'";
-      db_query($sql);
+      if (db_table_exists('field_data_taxonomyextra')) {
+        // first move from the field_data_taxonomyextra table
+        $sql = "
+          INSERT INTO {field_data_taxonomy_vocabulary_$vid}
+            (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
+          (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
+           FROM field_data_taxonomyextra
+           WHERE bundle = 'chado_feature')
+        ";
+        db_query($sql);
+        $sql = "DELETE FROM field_data_taxonomyextra WHERE bundle = 'chado_analysis'";
+        db_query($sql);
+
+        // next move from the field_revision_taxonomyextra table
+        $sql = "
+          INSERT INTO {field_revision_taxonomy_vocabulary_$vid}
+            (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
+          (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
+           FROM field_revision_taxonomyextra
+           WHERE bundle = 'chado_feature')
+        ";
+        db_query($sql);
+        $sql = "DELETE FROM field_revision_taxonomyextra WHERE bundle = 'chado_analysis'";
+        db_query($sql);
+      }
     }
     catch (\PDOException $e) {
       $error = $e->getMessage();

+ 25 - 23
tripal_feature/tripal_feature.install

@@ -342,29 +342,31 @@ function tripal_feature_update_7200() {
   $vid = db_query("SELECT vid FROM {taxonomy_vocabulary} WHERE name = 'Feature Type'")->fetchField();
   if ($vid) {
     try {
-      // first move from the field_data_taxonomyextra table
-      $sql = "
-        INSERT INTO {field_data_taxonomy_vocabulary_$vid}
-          (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
-        (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
-         FROM field_data_taxonomyextra
-         WHERE bundle = 'chado_feature')
-      ";
-      db_query($sql);
-      $sql = "DELETE FROM field_data_taxonomyextra WHERE bundle = 'chado_feature'";
-      db_query($sql);
-
-      // next move from the field_revision_taxonomyextra table
-      $sql = "
-        INSERT INTO {field_revision_taxonomy_vocabulary_$vid}
-          (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
-        (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
-         FROM field_revision_taxonomyextra
-         WHERE bundle = 'chado_feature')
-      ";
-      db_query($sql);
-      $sql = "DELETE FROM field_revision_taxonomyextra WHERE bundle = 'chado_feature'";
-      db_query($sql);
+      if (db_table_exists('field_data_taxonomyextra')) {
+        // first move from the field_data_taxonomyextra table
+        $sql = "
+          INSERT INTO {field_data_taxonomy_vocabulary_$vid}
+            (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
+          (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
+           FROM field_data_taxonomyextra
+           WHERE bundle = 'chado_feature')
+        ";
+        db_query($sql);
+        $sql = "DELETE FROM field_data_taxonomyextra WHERE bundle = 'chado_feature'";
+        db_query($sql);
+
+        // next move from the field_revision_taxonomyextra table
+        $sql = "
+          INSERT INTO {field_revision_taxonomy_vocabulary_$vid}
+            (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
+          (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
+           FROM field_revision_taxonomyextra
+           WHERE bundle = 'chado_feature')
+        ";
+        db_query($sql);
+        $sql = "DELETE FROM field_revision_taxonomyextra WHERE bundle = 'chado_feature'";
+        db_query($sql);
+      }
     }
     catch (\PDOException $e) {
       $error = $e->getMessage();

+ 25 - 23
tripal_library/tripal_library.install

@@ -341,29 +341,31 @@ function tripal_library_update_7200() {
   $vid = db_query("SELECT vid FROM {taxonomy_vocabulary} WHERE name = 'Library'")->fetchField();
   if ($vid) {
     try {
-      // first move from the field_data_taxonomyextra table
-      $sql = "
-      INSERT INTO {field_data_taxonomy_vocabulary_$vid}
-      (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
-        (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
-         FROM field_data_taxonomyextra
-         WHERE bundle = 'chado_feature')
-      ";
-      db_query($sql);
-      $sql = "DELETE FROM field_data_taxonomyextra WHERE bundle = 'chado_library'";
-      db_query($sql);
-
-      // next move from the field_revision_taxonomyextra table
-      $sql = "
-        INSERT INTO {field_revision_taxonomy_vocabulary_$vid}
-          (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
-        (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
-         FROM field_revision_taxonomyextra
-         WHERE bundle = 'chado_feature')
-      ";
-      db_query($sql);
-      $sql = "DELETE FROM field_revision_taxonomyextra WHERE bundle = 'chado_library'";
-      db_query($sql);
+      if (db_table_exists('field_data_taxonomyextra')) {
+        // first move from the field_data_taxonomyextra table
+        $sql = "
+        INSERT INTO {field_data_taxonomy_vocabulary_$vid}
+        (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
+          (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
+           FROM field_data_taxonomyextra
+           WHERE bundle = 'chado_feature')
+        ";
+        db_query($sql);
+        $sql = "DELETE FROM field_data_taxonomyextra WHERE bundle = 'chado_library'";
+        db_query($sql);
+
+        // next move from the field_revision_taxonomyextra table
+        $sql = "
+          INSERT INTO {field_revision_taxonomy_vocabulary_$vid}
+            (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
+          (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
+           FROM field_revision_taxonomyextra
+           WHERE bundle = 'chado_feature')
+        ";
+        db_query($sql);
+        $sql = "DELETE FROM field_revision_taxonomyextra WHERE bundle = 'chado_library'";
+        db_query($sql);
+      }
     }
     catch (\PDOException $e) {
       $error = $e->getMessage();

+ 25 - 23
tripal_organism/tripal_organism.install

@@ -173,29 +173,31 @@ function tripal_organism_update_7200() {
   $vid = db_query("SELECT vid FROM {taxonomy_vocabulary} WHERE name = 'Organism'")->fetchField();
   if ($vid) {
     try {
-      // first move from the field_data_taxonomyextra table
-      $sql = "
-        INSERT INTO {field_data_taxonomy_vocabulary_$vid}
-          (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
-        (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
-         FROM field_data_taxonomyextra
-         WHERE bundle = 'chado_feature')
-      ";
-      db_query($sql);
-      $sql = "DELETE FROM field_data_taxonomyextra WHERE bundle = 'chado_organism'";
-      db_query($sql);
-
-      // next move from the field_revision_taxonomyextra table
-      $sql = "
-        INSERT INTO {field_revision_taxonomy_vocabulary_$vid}
-          (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
-        (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
-         FROM field_revision_taxonomyextra
-         WHERE bundle = 'chado_feature')
-      ";
-      db_query($sql);
-      $sql = "DELETE FROM field_revision_taxonomyextra WHERE bundle = 'chado_organism'";
-      db_query($sql);
+      if (db_table_exists('field_data_taxonomyextra')) {
+        // first move from the field_data_taxonomyextra table
+        $sql = "
+          INSERT INTO {field_data_taxonomy_vocabulary_$vid}
+            (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
+          (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
+           FROM field_data_taxonomyextra
+           WHERE bundle = 'chado_feature')
+        ";
+        db_query($sql);
+        $sql = "DELETE FROM field_data_taxonomyextra WHERE bundle = 'chado_organism'";
+        db_query($sql);
+
+        // next move from the field_revision_taxonomyextra table
+        $sql = "
+          INSERT INTO {field_revision_taxonomy_vocabulary_$vid}
+            (entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomy_vocabulary_" . $vid. "_tid)
+          (SELECT entity_type, bundle, deleted, entity_id, revision_id, language, delta, taxonomyextra_tid
+           FROM field_revision_taxonomyextra
+           WHERE bundle = 'chado_feature')
+        ";
+        db_query($sql);
+        $sql = "DELETE FROM field_revision_taxonomyextra WHERE bundle = 'chado_organism'";
+        db_query($sql);
+      }
     }
     catch (\PDOException $e) {
       $error = $e->getMessage();