|
Различия в структуре баз данных между Joomla 1.5 и Joomla 6 фундаментальны, так как эти версии разделяет почти 20 лет развития. Если Joomla 1.5 использовала устаревшую и во многом кастомную архитектуру, то Joomla 6 построена на современных принципах баз данных, соответствующих промышленным стандартам.
Ниже представлена таблица, обобщающая ключевые отличия.
| Характеристика |
Joomla 1.5 (выпущена в 2008 г.) |
Joomla 6 (актуальная версия) |
| Префикс таблиц |
По умолчанию jos _, что создавало уязвимость, так как хакеры знали стандартное имя таблицы с пользователями (jos_users). |
Случайно генерируемый префикс (например, abc12_), который создается при установке для повышения безопасности. |
| Общее количество таблиц |
36 таблиц в стандартной установке. |
Около 90 таблиц (значительно расширенная структура). |
| Управление доступом (ACL) |
Упрощенная, жесткая система через таблицы core_acl_aro, core_acl_aro_groups, core_acl_aro_map. Это была сложная и негибкая система. |
Полностью переработанная и гибкая система на основе # __ assets (таблица ресурсов). Все права доступа хранятся иерархически в одном месте. |
| Категоризация контента |
Жесткая двухуровневая структура: Разделы (Sections) (# __ sections) и Категории (Categories) (# __ categories). |
Бесконечно вложенные Категории (Categories) (# __ categories). Поддержка Nested Set Model (поля lft, rgt, level) для эффективной работы с деревьями категорий. |
| Расширения и меню |
Таблицы components, modules, plugins. Таблицы menu и menu_types. |
Таблицы # __ extensions (объединяет все типы расширений: компоненты, модули, плагины, шаблоны, языки). Таблицы # __ menu и # __ menu_types. |
| Работа с контентом |
Таблица # __ content. Таблица # __ content_frontpage для привязки материалов к главной странице. |
Таблица # __ content. Возможность привязки к главной странице через особенности (featured) — отдельное поле в таблице # __ content. |
| Структура таблицы # __ users |
Содержала поля: id, username, email, password, usertype, block, sendEmail, gid, registerDate, lastvisitDate, activation, params. |
Содержит только основные поля (ID, имя, email, пароль и т.д.). Все пользовательские параметры (настройки редактора, языка и т.д.) вынесены в отдельную таблицу # __ user_profiles. |
| Работа с сессиями |
Таблица # __ session. |
Таблица # __ session с улучшенной структурой для поддержки более надежного управления сессиями. |
| Поддержка контента на нескольких языках |
Отсутствует. |
Встроенная поддержка многоязычности. Связанные таблицы содержат поле language. |
| Работа с изображениями и файлами |
Управление через файловую систему, информация в БД отсутствовала. |
Таблицы # __ media для управления файлами в Медиа-менеджере. |
| Журнал аудита |
Таблицы # __ core_log_items, # __ core_log_searches. |
Таблицы # __ action_logs, # __ action_logs_users, # __ action_log_config — полноценный журнал действий пользователей (User Actions Log). |
Эти изменения отражают эволюцию Joomla от простой системы управления контентом (CMS) до мощной и гибкой платформы для разработки веб-приложений (CMF):
1. Безопасность: отказ от предсказуемого префикса -- ` и внедрение случайных префиксов.
2. Гибкость: замена жесткой системы разделов и категорий на бесконечно вложенные категории, а старой системы ACL — на современную иерархическую модель.
3. Масштабируемость: разделение данных на логические группы (например, вынос параметров пользователя в отдельную таблицу) для более эффективной работы с большими объемами данных.
4. Расширяемость: объединение всех типов расширений в одну таблицу -- extensions` упрощает управление ими.
5. Современные требования: добавление поддержки многоязычности, журнала аудита и централизованного управления медиафайлами.
Если вы планируете миграцию с 1.5 на 6.x, это не просто обновление, а полноценная миграция данных с преобразованием структуры. Для этого существуют специальные инструменты, такие как компонент JUpgrade (для промежуточных версий).
[Отличия требований к серверу для Joomla 1.5 и Joomla 6]
Требования к серверу для Joomla 1.5 и Joomla 6 кардинально различаются, отражая эволюцию веб-технологий за почти 20 лет. Если Joomla 1.5 могла работать на самых базовых хостингах начала 2000-х, то Joomla 6 требует современного стека с актуальными версиями PHP и базы данных.
Для наглядности ниже представлена таблица сравнения минимальных и рекомендуемых требований.
| Компонент |
Joomla 1.5.x (2008 г.) |
Joomla 6.x (актуальная версия) |
| PHP |
Минимальная: 4.3.10 Рекомендуемая: 5.2 или 5.3 Не тестировалась: на PHP 5.4+ |
Минимальная (поддерживаемая): 8.3.0 Рекомендуемая: 8.4 Требуемые модули: json, simplexml, dom, gd, mysqlnd или pdo_mysql |
| MySQL / MariaDB |
MySQL (мин.): 3.23 MySQL (рекомендуемая): 4.1.x+ Joomla несовместима с MySQL 6.x |
MySQL (мин.): 8.0.13 MySQL (рекомендуемая): 8.4 MariaDB (мин.): 10.4 (или 10.6 в зависимости от источника) |
| Поддерживаемые СУБД |
Только MySQL |
MySQL, MariaDB, PostgreSQL (с версии 14.0/12.0) |
| Web-сервер |
Apache (мин.): 1.3 Apache (рекомендуемый): 2.x Microsoft IIS (мин.): 6 |
Apache: 2.4 Nginx: 1.26+ Microsoft IIS: 10 |
Ключевые изменения и примечания:
1. PHP – самый важный скачок, поскольку разница в версиях PHP огромна. Joomla 1.5 работала на версиях PHP, которые устарели более десяти лет назад (4.x и ранние 5.x) и не получают обновлений безопасности. Joomla 6 требует современные и поддерживаемые версии PHP 8.3 и выше, которые обеспечивают значительно большую производительность и безопасность . Joomla 1.5 даже официально не тестировалась на PHP 5.4+, и её работа на более новых версиях PHP была бы крайне проблематичной из-за множества удалённых функций.
2. Базы данных – от монополии к выбору. Joomla 1.5 была жестко привязана к MySQL. Joomla 6, напротив, поддерживает не только современные версии MySQL, но и MariaDB (её форк, ставший стандартом на многих хостингах), а также PostgreSQL. Это дает разработчикам свободу выбора наиболее подходящей СУБД для их проекта.
3. Требования к настройкам PHP. Для Joomla 6 требования к серверу выходят за рамки простой версии PHP. Необходимы конкретные расширения и настроенные параметры:
● Расширения: обязательны json, simplexml, dom, gd, а также драйвер для работы с БД (mysqli, pdo_mysql или pdo_pgsql). ● Параметры: рекомендуются повышенные значения memory_limit (256M или выше), upload_max_filesize (32M или выше), max_execution_time (300 или выше) для корректной работы с большими файлами и расширениями.
4. Поддержка нескольких Web-серверов. Если для Joomla 1.5 основным был Apache, а IIS считался экзотикой, то Joomla 6 официально и полноценно поддерживает Nginx наравне с Apache. Это важно, так как Nginx становится всё более популярным благодаря высокой производительности и эффективному использованию ресурсов.
Серверные требования Joomla 6 и 1.5 несовместимы. Перенос сайта с Joomla 1.5 на Joomla 6 — это не обновление, а миграция на совершенно новую платформу. Хостинг, который с трудом тянет Joomla 1.5 (например, с PHP 5.3 и MySQL 4.1), абсолютно точно не подойдет для Joomla 6. Для работы с современной версией необходим хостинг, поддерживающий PHP 8.3+ и MySQL 8.0+ / MariaDB 10.4+. |