Как я апгрейдил сайт на сердитом до актуальной версии
Author Message
Antony    

В дополнение к странице документации: Upgrade Seditio 1xx to 173

--

В общем целая эпопея, апгрейд был совмещён с переносом на новый хост, поэтому был сразу залит чистый дистрибутив, создана база с дампом seditio 102, перекачаны файлы из datas/ ну и текущий скин.

Ну и сразу полезли косяки: оригиналная база хранилась почемуто в кодировке latin_swedish_ci поэтому пришлось Sypex Dumper сказать чтобы он принудительно сохранил в нужной кодировке:

define('RESTORE_CHARSET', 'forced->utf8');

а потом ещё открыть архив для верности сменить кодировку самого файла на utf.

Дальше пошли пляски с бубном вокруг нашего чудо апгрейдера upgrade-seditio1xx-to-seditio173.php он хватал версии только начиная со 110. Были подняты sql файлы от seditio 102 и 110 и путём сравнения в чудо проге WinMerge добавлен новый шаг в апгрейдер с небольшими правками. Судя по тому что 100 и 102 в базе отличаются только значениями конфигов можно сказать что получился отличный инструмент линейного обновления до актуальной версии с seditio любого срока давности.

Пару замечаний дополнений по обновлятору:

При прогоне от 110 к 121 он выставляет всем страницам значение поля page_expire максимальное, что критично для плагина новостей

$sqlqr = "UPDATE ".$cfg['sqldbprefix']."pages SET page_expire = '1886531040'";
$adminmain .= sed_query_chk($sqlqr);

У меня на сайте это поле использовалось также в плагине афиши, чтобы оправлять в архив устаревшие анонсы, поэтому пришлось принудительно указать для каких разделов это поле обновить:

$sqlqr = "UPDATE ".$cfg['sqldbprefix']."pages SET page_expire = '1886531040' WHERE page_cat='news' ";
$adminmain .= sed_query_chk($sqlqr);

Welcome to mother Russia: Putin, medvedi, matrioshka, balalayka, okhuenno!


This post was edited by Antony (11-11-12 18:42 GMT, 2164 days ago)