Найдено решение с бэкапом.
В файле admin\includes\applications\backup\classes\backup.php
Находим
if ( !osc_empty($Qfields->value('Default')) ) {
$schema .= ' default ' . $Qfields->value('Default') . '';
}
Меняем на
if ( !osc_empty($Qfields->value('Default')) OR strlen($Qfields->value('Default')) != 0 ) {
$schema .= ' default \'' . $Qfields->value('Default') . '\'';
}
Проблема была в том что при создании файла бэкапа он не записывал в файл default '0', пропускал и из-за этого были проблемы при восстановлении. При восстановлении по дефолту 0 уже не было в базе. и некоторые опции из-за этого не работали в магазине после восстановления.
PS. Кто раньше пользовался восстановлением базы из админки, рекомендую в ручную восстановить во всех таблицах default 0 где оно должно быть. Взять можно из инсталлятора sql файл и по ему примеру исправить.
Плюс еще к этому в этом же файле находим
$Qcfg = $osC_Database->query('insert into :table_configuration values ("", "Last Database Restore", "DB_LAST_RESTORE", :filename, "Last database restore file", "6", "", "", now(), "", "")');
Меняем на
$Qcfg = $osC_Database->query('insert into :table_configuration values (null, "Last Database Restore", "DB_LAST_RESTORE", :filename, "Last database restore file", "6", "0", null, now(), "", "")');
Это избавляет от ошибки такого вида.
Warning: [MYSQL] Incorrect integer value: '' for column 'configuration_id' at row 1 (1366): [QUERY] insert into osc_configuration values ("", "Last Database Restore", "DB_LAST_RESTORE", 'db_cl20333_oscom-20101006154431.sql', "Last database restore file", "6", "", "", now(), "", "") in /home/c/cl20333/vadim/public_html/includes/classes/database.php on line 72
И чтоб не сыпались другие ошибки такого вида
Warning: [MYSQL] Note (1051): Unknown table 'osc_address_book' [QUERY] drop table if exists osc_address_book in /home/c/cl20333/vadim/public_html/includes/classes/database/mysqli.php on line 141
может это и не правильно, может кто другую версию подскажет, в этом же файле
Находим
if ( !empty($tables_array) ) {
$Qdrop = $osC_Database->query('drop table if exists :tables');
$Qdrop->bindRaw(':tables', implode(', ', $tables_array));
$Qdrop->execute();
}
Меняем на
/* if ( !empty($tables_array) ) {
$Qdrop = $osC_Database->query('drop table if exists :tables');
$Qdrop->bindRaw(':tables', implode(', ', $tables_array));
$Qdrop->execute();
}
*/
Drop table есть в файле бэкапа и в этом файле тоже прописано. Вот кажется эта запись удаляет все таблицы, а потом еще при восстановлении из файла бэкапа отрабатывается повторно drop table и сыпяться ошибки что базы уже нету, нечего удалять.
И этот фикс можно добавить. Это в IE при сохранении бэкапа на свой комп. Хотя в своем IE9 beta проверил, не пашет.
https://forum.oscommerce.ru/index.php?topic=38.msg2645#msg2645