Issue #2078837 by alexpott: Fixed Ensure that we are using SQL storage for taxonomy_update_8007().
parent
de0492e741
commit
e1c40673b9
|
@ -309,35 +309,37 @@ function file_update_8003() {
|
||||||
if (in_array($field_config->get('type'), array('file', 'image'))) {
|
if (in_array($field_config->get('type'), array('file', 'image'))) {
|
||||||
$field = new Field($field_config->get());
|
$field = new Field($field_config->get());
|
||||||
|
|
||||||
$tables = array(
|
if (db_table_exists(DatabaseStorageController::_fieldTableName($field))) {
|
||||||
DatabaseStorageController::_fieldTableName($field),
|
$tables = array(
|
||||||
DatabaseStorageController::_fieldRevisionTableName($field),
|
DatabaseStorageController::_fieldTableName($field),
|
||||||
);
|
DatabaseStorageController::_fieldRevisionTableName($field),
|
||||||
|
);
|
||||||
|
|
||||||
foreach ($tables as $table_name) {
|
foreach ($tables as $table_name) {
|
||||||
// Skip fields which were created during the upgrade process.
|
// Skip fields which were created during the upgrade process.
|
||||||
if (!db_field_exists($table_name, $field->name . '_fid')) {
|
if (!db_field_exists($table_name, $field->name . '_fid')) {
|
||||||
continue 2;
|
continue 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
db_change_field($table_name, $field->name . '_fid', $field->name . '_target_id', array(
|
||||||
|
'description' => 'The ID of the target entity.',
|
||||||
|
'type' => 'int',
|
||||||
|
'unsigned' => TRUE,
|
||||||
|
'not null' => TRUE,
|
||||||
|
));
|
||||||
|
|
||||||
|
// Change the index.
|
||||||
|
db_drop_index($table_name, $field->name . '_fid');
|
||||||
|
db_add_index($table_name, $field->name . '_target_id', array($field->name . '_target_id'));
|
||||||
}
|
}
|
||||||
|
|
||||||
db_change_field($table_name, $field->name . '_fid', $field->name . '_target_id', array(
|
// Update the indexes in field config as well.
|
||||||
'description' => 'The ID of the target entity.',
|
$indexes = $field_config->get('indexes');
|
||||||
'type' => 'int',
|
unset($indexes['fid']);
|
||||||
'unsigned' => TRUE,
|
$indexes['target_id'] = array('target_id');
|
||||||
'not null' => TRUE,
|
$field_config->set('indexes', $indexes);
|
||||||
));
|
$field_config->save();
|
||||||
|
|
||||||
// Change the index.
|
|
||||||
db_drop_index($table_name, $field->name . '_fid');
|
|
||||||
db_add_index($table_name, $field->name . '_target_id', array($field->name . '_target_id'));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the indexes in field config as well.
|
|
||||||
$indexes = $field_config->get('indexes');
|
|
||||||
unset($indexes['fid']);
|
|
||||||
$indexes['target_id'] = array('target_id');
|
|
||||||
$field_config->set('indexes', $indexes);
|
|
||||||
$field_config->save();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -364,30 +364,32 @@ function taxonomy_update_8007() {
|
||||||
if ($field_config->get('type') == 'taxonomy_term_reference') {
|
if ($field_config->get('type') == 'taxonomy_term_reference') {
|
||||||
$field = new Field($field_config->get());
|
$field = new Field($field_config->get());
|
||||||
|
|
||||||
$tables = array(
|
if (db_table_exists(DatabaseStorageController::_fieldTableName($field))) {
|
||||||
DatabaseStorageController::_fieldTableName($field),
|
$tables = array(
|
||||||
DatabaseStorageController::_fieldRevisionTableName($field),
|
DatabaseStorageController::_fieldTableName($field),
|
||||||
);
|
DatabaseStorageController::_fieldRevisionTableName($field),
|
||||||
|
);
|
||||||
|
|
||||||
foreach ($tables as $table_name) {
|
foreach ($tables as $table_name) {
|
||||||
db_change_field($table_name, $field->name . '_tid', $field->name . '_target_id', array(
|
db_change_field($table_name, $field->name . '_tid', $field->name . '_target_id', array(
|
||||||
'description' => 'The ID of the target entity.',
|
'description' => 'The ID of the target entity.',
|
||||||
'type' => 'int',
|
'type' => 'int',
|
||||||
'unsigned' => TRUE,
|
'unsigned' => TRUE,
|
||||||
'not null' => FALSE,
|
'not null' => FALSE,
|
||||||
));
|
));
|
||||||
|
|
||||||
// Change the index.
|
// Change the index.
|
||||||
db_drop_index($table_name, $field->name . '_tid');
|
db_drop_index($table_name, $field->name . '_tid');
|
||||||
db_add_index($table_name, $field->name . '_target_id', array($field->name . '_target_id'));
|
db_add_index($table_name, $field->name . '_target_id', array($field->name . '_target_id'));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the indexes in field config as well.
|
||||||
|
$indexes = $field_config->get('indexes');
|
||||||
|
unset($indexes['tid']);
|
||||||
|
$indexes['target_id'] = array('target_id');
|
||||||
|
$field_config->set('indexes', $indexes);
|
||||||
|
$field_config->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the indexes in field config as well.
|
|
||||||
$indexes = $field_config->get('indexes');
|
|
||||||
unset($indexes['tid']);
|
|
||||||
$indexes['target_id'] = array('target_id');
|
|
||||||
$field_config->set('indexes', $indexes);
|
|
||||||
$field_config->save();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue