| 
					
				 | 
			
			
				@@ -0,0 +1,895 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<?php 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use Drupal\user\RoleInterface; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Set up source data and destination configuration for the migration example 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * module. We do this in a separate module so migrate_example_advanced itself is 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * a pure migration module. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implements hook_schema(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_setup_schema() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_account'] = migrate_example_advanced_schema_account(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_account_updates'] = migrate_example_advanced_schema_account_updates(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_categories'] = migrate_example_advanced_schema_categories(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_vintages'] = migrate_example_advanced_schema_vintages(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_variety_updates'] = migrate_example_advanced_schema_variety_updates(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_wine'] = migrate_example_advanced_schema_wine(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_updates'] = migrate_example_advanced_schema_updates(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_producer'] = migrate_example_advanced_schema_producer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_category_wine'] = migrate_example_advanced_schema_category_wine(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_category_producer'] = migrate_example_advanced_schema_category_producer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_comment'] = migrate_example_advanced_schema_comment(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_comment_updates'] = migrate_example_advanced_schema_comment_updates(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_files'] = migrate_example_advanced_schema_files(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_blobs'] = migrate_example_advanced_schema_blobs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_table_source'] = migrate_example_advanced_schema_table_source(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $schema['migrate_example_advanced_table_dest'] = migrate_example_advanced_schema_table_dest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return $schema; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Implements hook_install(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_setup_install() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Populate our tables. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_account(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_account_updates(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_categories(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_vintages(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_variety_updates(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_wine(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_updates(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_producer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_category_wine(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_category_producer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_comment(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_comment_updates(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_files(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_blobs(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  migrate_example_advanced_data_table_source(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_wine() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Wines of the world', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'wineid'  => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Wine ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'name'  => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'body' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Full description of the wine.', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'excerpt' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Abstract for this wine.', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'accountid' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'ID of the author.', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'posted' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Original creation date', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'last_changed' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Last change date', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'variety' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Wine variety', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'region' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Wine region', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'rating' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Rating (100-point scale)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => ['wineid'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_updates() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Updated wine ratings', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'wineid'  => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Wine ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'rating' => [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Rating (100-point scale)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => ['wineid'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_producer() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Wine producers of the world', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'producerid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Producer ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'name'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'body' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Full description of the producer.', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'excerpt' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Abstract for this producer.', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'accountid' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Account ID of the author.', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('producerid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_categories() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Categories', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'categoryid' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Category ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'type' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Type of category: variety, region, best_with', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'name'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'details' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'category_parent' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Parent category, if any', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'ordering' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Order in which to display categories', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('categoryid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_vintages() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Wine vintages', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'wineid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Wine ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'vintage'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Vintage (year)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('wineid', 'vintage'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_variety_updates() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Variety updates', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'categoryid' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Category ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'details' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('categoryid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_category_wine() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Wine category assignments', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'wineid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Wine ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'categoryid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Category ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('categoryid', 'wineid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_category_producer() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Producer category assignments', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'producerid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Producer ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'categoryid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Category ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('categoryid', 'producerid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_comment() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Wine comments', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'commentid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Comment ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'wineid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Wine ID that is being commented upon', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'comment_parent' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Parent comment ID in case of comment replies.', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'subject' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Comment subject', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'body' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Comment body', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'name' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Comment name (if anon)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'mail' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Comment email (if anon)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'accountid' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Account ID (if any).', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'commenthost' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'IP/domain of host posted from', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'userpage' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'User homepage', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'posted' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Date comment posted', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'lastchanged' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Date comment last changed', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('commentid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_comment_updates() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Wine comment updates', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'commentid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Comment ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'subject' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Comment subject', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('commentid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_account() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Wine accounts.', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'accountid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'serial', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Account ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'status'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Blocked_Allowed', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'posted' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Registration date', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'last_access' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Last access date', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'last_login' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Last login date', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'name' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Account name (for login)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'sex' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'char', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Gender', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'password' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Account password (raw)', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'mail' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Account email', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'original_mail' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Original account email', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'sig' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Signature for comments', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'imageid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Image ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'positions' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Positions held', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('accountid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_account_updates() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Wine account updates', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'accountid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'serial', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Account ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'sex' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'char', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Gender', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('accountid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_blobs() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Wine blobs to be migrated to file entities', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'imageid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Image ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'imageblob' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'blob', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'size' => 'normal', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'binary image data', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('imageid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_files() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Wine and account files', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'imageid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Image ID', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'url'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Image URL', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'image_alt'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Image alt', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'image_title'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Image title', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'wineid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => FALSE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Wine node this is associated with', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('imageid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_table_source() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Source data to go into a custom Drupal table', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'fooid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Primary key', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'field1'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'First field', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'field2'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Second field', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('fooid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_schema_table_dest() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'description' => 'Custom Drupal table to receive source data directly', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'fields' => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'recordid'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'serial', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Primary key', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'drupal_text'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'varchar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'length' => 255, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'First field', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'drupal_int'  => array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'type' => 'int', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'unsigned' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'not null' => TRUE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        'description' => 'Second field', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'primary key' => array('recordid'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_wine() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('wineid', 'name', 'body', 'excerpt', 'accountid', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'posted', 'last_changed', 'variety', 'region', 'rating'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_wine') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 'Montes Classic Cabernet Sauvignon', 'Intense ruby-red color', 'Great!', 9, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      strtotime('2010-01-02 03:04:05'), strtotime('2010-03-04 05:06:07'), 25, 17, 95), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(2, 'Archeo Ruggero di Tasso Nero d\'Avola', 'Lots of berry character', 'Pair with red sauced dishes', 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      strtotime('2010-09-03 18:23:58'), strtotime('2010-09-03 18:23:58'), 26, 2, 85), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_updates() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('wineid', 'rating'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_updates') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 93), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(2, NULL), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_producer() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('producerid', 'name', 'body', 'excerpt', 'accountid'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_producer') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 'Montes', 'Fine Chilean winery', 'Great!', 9), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(2, 'Archeo', 'Sicilia!', NULL, 3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_account() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('accountid', 'status', 'posted', 'last_access', 'last_login', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'name', 'sex', 'password', 'mail', 'original_mail', 'sig', 'imageid', 'positions'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_account') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 1, '2010-03-30 10:31:05', '2010-04-30 18:25:24', '2010-04-30 14:01:02', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'darren', 'M', 'dpass', 'ddarren@example.com', 'darren@example.com', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'All about the Australians', NULL, '5'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(3, 0, '2007-03-15 10:31:05', '2007-06-10 04:11:38', '2007-06-10 04:11:38', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'emily', 'F', 'insecure', 'emily@example.com', 'emily@example.com', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'Sommelier to the stars', NULL, '18'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(9, 1, '2004-02-29 10:31:05', '2004-02-29 10:31:05', '2004-02-29 10:31:05', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'fonzie', NULL, 'bike', 'thefonz@example.com', 'arthur@example.com', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'Aaay!', 1, '5,18'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_account_updates() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('accountid', 'sex'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_account_updates') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, NULL), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(3, 'M'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(9, 'F'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_comment() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('commentid', 'wineid', 'comment_parent', 'subject', 'body', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    'name', 'mail', 'accountid', 'commenthost', 'userpage', 'posted', 'lastchanged'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_comment') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 1, NULL, 'im first', 'Tasty', 'grace', 'grace@example.com', 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      '123.456.78.9', 'http:://grace.example.com/', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      strtotime('2010-01-02 03:04:05'), strtotime('2010-04-05 06:07:08')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(2, 1, NULL, 'im second', 'Delicious', 'horace', 'horace@example.com', 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      'example.com', NULL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      strtotime('2010-02-02 03:04:05'), strtotime('2010-05-05 06:07:08')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(3, 1, NULL, 'im parent', 'Don\'t care for it', 'irene', 'irene@example.com', 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      '254.0.2.5', 'http:://www.example.com/irene', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      strtotime('2010-03-02 03:04:05'), strtotime('2010-03-02 03:04:05')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(4, 1, 3, 'im child', 'But it\'s so good!', 'emily', NULL, 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      '58.29.126.1', 'http:://www.wine.com/', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      strtotime('2010-01-02 03:04:05'), strtotime('2010-01-02 03:04:05')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(5, 1, 4, 'im grandchild', 'Right on, Emily!', 'thefonz@example.com', NULL, 9, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      '123.456.78.9', NULL, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      strtotime('2010-06-02 03:04:05'), strtotime('2010-06-02 03:04:05')), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_comment_updates() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('commentid', 'subject'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_comment_updates') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 'I am first'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(2, 'I am second'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(3, 'I am parent'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(4, ''), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(5, 'I am Spartacus'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_categories() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('categoryid', 'type', 'name', 'category_parent', 'details', 'ordering'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_categories') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 'variety', 'White wine', NULL, 'White wines are generally simpler and sweeter than red', 3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(3, 'variety', 'Red wine', NULL, 'Red wines are generally more complex and "dry" than white', 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(8, 'variety', 'Riesling', 1, 'Associated with Germany', 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(9, 'variety', 'Chardonnay', 1, 'One of the most popular whites', 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(13, 'variety', 'Merlot', 3, 'Very drinkable', 4), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(14, 'variety', 'Syrah', 3, 'A.k.a. shiraz', -3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(25, 'variety', 'Cabernet Sauvignon', 3, 'A basic', -5), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(26, 'variety', "Nero d'Avola", 3, 'Sicilian specialty', 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(2, 'region', 'Italy', NULL, 'Largest producer of wine', 5), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(11, 'region', 'Tuscany', 2, NULL, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(18, 'region', 'Chianti', 11, NULL, -1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(19, 'region', 'Elba', 11, NULL, 5), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(4, 'region', 'France', NULL, 'C\'est bon', 6), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(5, 'region', 'Bordeaux', 4, NULL, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(6, 'region', 'Barsac', 5, NULL, 3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(7, 'region', 'Pomerol', 5, NULL, 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(16, 'region', 'Chile', NULL, NULL, 3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(17, 'region', 'Colchagua Valley', 16, NULL, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(20, 'region', 'California', NULL, NULL, 5), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(21, 'region', 'Redwood Valley', 20, NULL, 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(10, 'best_with', 'Beef', NULL, NULL, 5), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(12, 'best_with', 'Pork', NULL, NULL, -3), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(15, 'best_with', 'Chicken', NULL, NULL, -5), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_vintages() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('wineid', 'vintage'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_vintages') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 2006), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 2007), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(2, 2001), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_variety_updates() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('categoryid', 'details'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_variety_updates') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 'White wines are simpler and sweeter than red'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(3, 'Red wines are generally more complex and dry than white'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(8, 'Usually associated with Germany'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(9, NULL), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(13, 'Common, very drinakable'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(14, 'AKA Shiraz'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(25, 'Basic'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(26, 'A specialty of Sicily'), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_category_wine() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('wineid', 'categoryid'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_category_wine') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 12), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 15), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(2, 10), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_category_producer() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('producerid', 'categoryid'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_category_producer') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 17), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_files() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('imageid', 'url', 'image_alt', 'image_title', 'wineid'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_files') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, 'http://placekitten.com/200/200', NULL, NULL, NULL), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(2, 'http://cyrve.com/files/penguin.jpeg', 'Penguin alt', 'Penguin title', 1), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(3, 'http://cyrve.com/files/rioja.jpeg', 'Rioja alt', 'Rioja title', 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(4, 'http://cyrve.com/files/boutisse_0.jpeg', 'Boutisse alt', 'Boutisse title', 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_blobs() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $blob = file_get_contents('core/misc/druplicon.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('imageid', 'imageblob'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_blobs') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(1, $blob), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function migrate_example_advanced_data_table_source() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $fields = array('fooid', 'field1', 'field2'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query = db_insert('migrate_example_advanced_table_source') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ->fields($fields); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $data = array( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(3, 'Some sample data', 58), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(15, 'Whatever', 2), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    array(646, 'More sample data', 34989), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  foreach ($data as $row) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    $query->values(array_combine($fields, $row)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  $query->execute(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |