| 
					
				 | 
			
			
				@@ -16,6 +16,43 @@ function tripal_entities_install() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implements hook_uninstall(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function tripal_entities_uninstall() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // So somehow I was able to uninstall this module without deleting the bundles. This 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // caused aweful errors because fields weren't deleted so when I re-installed, the code 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // tried to create fields that were inactive (despite checking if the field exists  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // before creating). The following code was meant to ensure that all content was deleted 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // before uninstall so these errors would not occur. Unfortunatly I am now unable to  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // test this because the Field API module is disabling uninstall of Tripal Chado until  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // all the content is deleted. Thus ensuring the errors described above don't occur. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // But I'm Sure I was able to uninstall with content before...  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // **I am slowly going crazy; Crazy going slowly am I** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Anyway, I'll leaving the solution code here in case I am able to repeat it in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // the future. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // @see https://www.drupal.org/node/1262092 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // @see https://www.drupal.org/node/1861710 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // First delete all TripalEntities. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $entity_ids = (new EntityFieldQuery)->entityCondition("entity_type", "TripalEntity")->execute();  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $entity_ids = reset($entity_ids); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  entity_delete_multiple("TripalEntity", array_keys($entity_ids)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Then delete all TripalBundles. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $bundle_ids = (new EntityFieldQuery)->entityCondition("entity_type", "TripalBundle")->execute();  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $bundle_ids = reset($bundle_ids); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  entity_delete_multiple("TripalBundle", array_keys($bundle_ids)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // @TODO: Should we delete all TripalVocabularies and TripalTerms? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Finally purge all fields that are no longer used. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  field_purge_batch(100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Implements hook_schema(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -30,7 +67,6 @@ function tripal_entities_schema() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // Adds a table for additional information related to bundles. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   $schema['tripal_bundle_variables'] = tripal_entities_tripal_bundle_variables_schema(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   return $schema; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |