我正在将我的网站从开发环境迁移到生产环境,因此用户在CkEditor,内容或字段中输入的绝对路径网址将不适用于该域。
我该怎么办? 数据库可能很大,所以我在寻找其他东西,而不是搜索和替换40 mo的sql文件。
我正在使用mysql的Drupal 8
答案 0 :(得分:0)
您可以简单地找到db中的哪些表/字段包含您要替换的绝对URL。然后在mysql中替换它。这是一个例子:
$fields_to_update = [
['table' => 'field_data_body', 'field' => 'body_value'],
['table' => 'field_data_body', 'field' => 'body_summary'],
['table' => 'field_data_field_account_notes', 'field' => 'field_account_notes_value'],
['table' => 'field_data_field_extra_text', 'field' => 'field_extra_text_value'],
];
foreach ($fields_to_update as $item) {
$table = $item['table'];
$field = $item['field'];
db_query("UPDATE {$table} SET $field = REPLACE($field, 'http://www.example.com/', :new_name) WHERE $field LIKE BINARY '%http://www.example.com/%'", array(':new_name' => '/'));
}
希望有所帮助