function apachesolr_update_7002 in Apache Solr Search 7
Same name and namespace in other branches
- 8 apachesolr.install \apachesolr_update_7002()
Create the per-server variable table.
File
- ./
apachesolr.install, line 393 - Install and related hooks for apachesolr_search.
Code
function apachesolr_update_7002() {
if (variable_get('apachesolr_update_from_6303', FALSE)) {
return NULL;
}
$schema['apachesolr_server_variable'] = array(
'description' => 'Variable values for each Solr server.',
'fields' => array(
'server_id' => array(
'description' => 'Unique identifier for the server',
'type' => 'varchar',
'length' => 64,
'not null' => TRUE,
),
'name' => array(
'description' => 'The name of the variable.',
'type' => 'varchar',
'length' => 128,
'not null' => TRUE,
'default' => '',
),
'value' => array(
'description' => 'The value of the variable.',
'type' => 'blob',
'not null' => TRUE,
'size' => 'big',
),
),
'primary key' => array(
'server_id',
'name',
),
);
db_create_table('apachesolr_server_variable', $schema['apachesolr_server_variable']);
$server_id = variable_get('apachesolr_default_server', 'solr');
// Variables to be migrated:
$conf['apachesolr_enabled_facets'] = variable_get('apachesolr_enabled_facets', NULL);
$conf['apachesolr_search_query_fields'] = variable_get('apachesolr_search_query_fields', NULL);
$conf['apachesolr_search_type_boosts'] = variable_get('apachesolr_search_type_boosts', NULL);
$conf['apachesolr_search_comment_boost'] = variable_get('apachesolr_search_comment_boost', NULL);
$conf['apachesolr_search_changed_boost'] = variable_get('apachesolr_search_changed_boost', NULL);
$conf['apachesolr_search_sticky_boost'] = variable_get('apachesolr_search_sticky_boost', NULL);
$conf['apachesolr_search_promote_boost'] = variable_get('apachesolr_search_promote_boost', NULL);
$conf['apachesolr_search_excluded_types'] = variable_get('apachesolr_search_excluded_types', NULL);
foreach ($conf as $name => $value) {
if ($value !== NULL) {
db_merge('apachesolr_server_variable')
->key(array(
'server_id' => $server_id,
'name' => $name,
))
->fields(array(
'value' => serialize($value),
))
->execute();
}
variable_del($name);
}
}