+7 499 938 8452 пн.-пт. 10:00 – 17:00
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Карта разработчика магазина на 1С-Битрикс — с чего начинать и куда смотреть, когда сайт уже продаёт: PHP, каркас, витрина, git, обмены, дыры. Закрывать все клетки не нужно.


Как точечно восстановить бекап БД сайта

Делайте бекап БД, всегда делайте. Даже когда кажется, что все замечудненько, попадется модуль, который все испортит.

Но вот беда случилась, и бекап есть. Но все заливать не требуется, например похерились только определенные свойства элементов, или какая-то категория товаров. Как быть?

Прежде всего загружаете старый бекап по соседству с боевым, чтобы боевой сайт мог к нему подконнектиться. И приступаем к написанию кода перегонки данных. Каждый раз подход индивидуальный. Но вот вы накидали алгоритм по выборке данных из "старого Битрикс" и загона его в новый. Мне тут проще было оперировать запросами, поэтому пример будет с ними.

Все волшебство сводится к волшебной команде use, которую применяем два раза - при коннекте к старой базе и потом к новой.
Получается как-то так:
$arAll = array(); //коннектимся к старой базе, забираем данные так, как-будто они находятся в текущем Битрикс $DB->Query('use db1507;'); $rs = $DB->Query('SEL ECT * FR OM `b_iblock_element_property` WHERE `IBLOCK_PROPERTY_ID`=455;'); while ($ar = $rs->Fetch()) { $arAll[] = $ar;//подразумеваем, что массив данных вместится в один заход } //возвращаемся к старой (рабочий) базе $DB->Query('use db;'); foreach ($arAll as $ar) { //аккуратно инсертим $DB->Query('UPD ATE `b_iblock_element_property` SE T `VALUE`='.$ar['VALUE'].', `VALUE_ENUM`='.$ar['VALUE_ENUM'].' WHERE `ID`='.$ar['ID'].';'); break;//при первом заходе вставляем break и проверяем правильно ли отработало, иначе винегрет еще сложнее разгребать :) }

Повторю, скрипт не для боевого применения, а лишь как иллюстрация действий. Ну и стиль кодирования, именования и прочего не для применения, а так как надо было ASAP.

Назад в раздел

Подписаться на новые материалы раздела:












CAPTCHA

Каталог для ИИ