Очень часто на 80-х процентах обновления возникает ошибка:
1091 Can't DROP 'usertype'; check that column/key exists SQL=ALTER TABLE xxx_users DROP KEY usertype;
После данной ошибки при переходах по административной части CMS возникает ошибка:
Notice: Undefined property: InstallerController::$input in ...administratorcomponentscom_installercontroller.php on line 37 Fatal error: Call to a member function get() on a non-object in ...administratorcomponentscom_installercontroller.php on line 37
Даже при таких ошибках обновить ядро можно.
1. Обновить систему до версии 2.5.28 и выполнить все действия согласно инструкции по миграции до непосредственного обновления на версию 3
2. Удалить папку «updates» из .../administrator/components/com_admin/sql/
3. Обновить Joomla до версии 3 стандартным средством (Components — Update Joomla). В конце обновления вы получите пустую белую страницу или страницу с ошибками выполнения SQL запросов.
4. Создать в базе данных таблицу следующим запросом (#_ — необходимо заменить на префикс ваших таблиц):
CREATE TABLE IF NOT EXISTS #__content_types (
type_id int(10) unsigned NOT NULL AUTO_INCREMENT,
type_title varchar(255) NOT NULL DEFAULT '',
type_alias varchar(255) NOT NULL DEFAULT '',
`table` varchar(255) NOT NULL DEFAULT '',
rules text NOT NULL,
field_mappings text NOT NULL,
router varchar(255) NOT NULL DEFAULT '',
content_history_options varchar(5120) COMMENT 'JSON string for com_contenthistory options',
PRIMARY KEY (type_id),
KEY idx_alias (type_alias)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=10000;
5. Зайдите на страницу: имя_сайта/administrator/index.php?option=com_installer&task=database.fix и решите все проблемы с базой данных (нажать кнопку Fix).
6. Зайдите на страницу: имя_сайта/administrator/index.php?option=com_installer&view=discover&task=discover.refresh и обновите все расширения, которіе будут в списке.
Система должна работать. Сделайте резервную копию, после чего обновите все сторонние расширения.
Таким образом были обновлены уже 2 сайта. Все прошло успешно.
Автор: YegorKaliberda