diff --git a/modules/field/modules/text/text.install b/modules/field/modules/text/text.install index 3854e5688634fba01fae6ecd40b234ed60ddeefc..cd1d9ded5f23f5c200b4b5209e77f6bb59145d2d 100644 --- a/modules/field/modules/text/text.install +++ b/modules/field/modules/text/text.install @@ -89,12 +89,21 @@ function text_update_7000() { 'length' => 255, 'not null' => FALSE, ); - $fields = _update_7000_field_read_fields(array('module' => 'text', 'storage_type' => 'field_sql_storage')); + $fields = _update_7000_field_read_fields(array( + 'module' => 'text', + 'storage_type' => 'field_sql_storage', + )); foreach ($fields as $field_name => $field) { - $table = _field_sql_storage_tablename($prior_field); - $revision_table = _field_sql_storage_revision_tablename($prior_field); - $field_name = _field_sql_storage_columnname($field['field_name'], 'format'); - db_change_field($table, $field_name, $field_name, $spec); - db_change_field($revision_table, $field_name, $field_name, $spec); + if ($field['deleted']) { + $table = "field_deleted_data_{$field['id']}"; + $revision_table = "field_deleted_revision_{$field['id']}"; + } + else { + $table = "field_data_{$field['field_name']}"; + $revision_table = "field_revision_{$field['field_name']}"; + } + $column = $field['field_name'] . '_' . 'format'; + db_change_field($table, $column, $column, $spec); + db_change_field($revision_table, $column, $column, $spec); } } diff --git a/modules/taxonomy/taxonomy.install b/modules/taxonomy/taxonomy.install index dd97edde478a25f2e77c2220e70040cac70386ae..8c2de3f86f010a7cc85aebc05c4cd75c1c053752 100644 --- a/modules/taxonomy/taxonomy.install +++ b/modules/taxonomy/taxonomy.install @@ -258,6 +258,11 @@ function taxonomy_update_dependencies() { $dependencies['node'][7006] = array( 'taxonomy' => 7002, ); + // Ensure that format columns are only changed after Filter module has changed + // the primary records. + $dependencies['taxonomy'][7009] = array( + 'filter' => 7010, + ); return $dependencies; } @@ -782,3 +787,16 @@ function taxonomy_update_7008() { ), )); } + +/** + * Change {taxonomy_term_data}.format into varchar. + */ +function taxonomy_update_7009() { + db_change_field('taxonomy_term_data', 'format', 'format', array( + 'type' => 'varchar', + 'length' => 255, + 'not null' => FALSE, + 'description' => 'The {filter_format}.format of the description.', + )); +} +