From 07ef159518b88245f3f1aa5635784ee7745d619e Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Tue, 20 Apr 2010 07:47:55 +0000 Subject: #773824 by scor: Fixed taxonomy_update_7002() fails when more than one vocabulary to upgrade. --- modules/taxonomy/taxonomy.install | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/taxonomy/taxonomy.install b/modules/taxonomy/taxonomy.install index c16bdf1a2..cdbafd5e3 100644 --- a/modules/taxonomy/taxonomy.install +++ b/modules/taxonomy/taxonomy.install @@ -259,16 +259,19 @@ function taxonomy_update_7002() { ); db_add_field('taxonomy_vocabulary', 'machine_name', $field); - db_add_unique_key('taxonomy_vocabulary', 'machine_name', array('machine_name')); foreach (taxonomy_get_vocabularies() as $vid => $vocabulary) { $machine_name = 'vocabulary_' . $vid; db_update('taxonomy_vocabulary') - ->fields(array('machine_name' => 'vocabulary_' . $vid)) + ->fields(array('machine_name' => $machine_name)) ->condition('vid', $vid) ->execute(); field_attach_create_bundle('taxonomy_term', $machine_name); } + + // The machine_name unique key can only be added after we ensure the + // machine_name column contains unique values. + db_add_unique_key('taxonomy_vocabulary', 'machine_name', array('machine_name')); } /** -- cgit v1.2.3