Установка и настройка
Почему установщик отказывается от непустой базы
Непустая БД не подходит для чистой установки Switch Pages. Объясняем, как различить новый сайт, обновление и восстановление, сохранив существующие данные.
На этой странице
Отказ защищает существующий сайт
Чистая установка создаёт таблицы и начальные настройки. Если в выбранной базе уже есть таблицы, невозможно безопасно предположить, что их можно заменить. Поэтому установщик проверяет пустоту при подключении и ещё раз перед окончательной записью.
Например, имя базы из старой конфигурации может относиться к действующему сайту, хотя файлы нового проекта лежат в другом каталоге. Успешное подключение в таком случае не является разрешением переписать содержимое.
Определите нужную операцию
Для нового сайта подготовьте отдельную пустую БД. Для обновления существующей Switch Pages используйте предусмотренные CLI-миграции после резервной копии. Для восстановления возвращают согласованную копию файлов и базы в отдельную среду и проверяют её; повторная установка поверх дампа не заменяет восстановление.
Не удаляйте таблицы только ради прохождения следующего шага установщика. Сначала выясните, кому они принадлежат, есть ли актуальная копия и открывается ли она отдельно. Если установка оборвалась после создания части схемы, исследуйте журнал и созданные файлы, а не запускайте бесконечные повторы.
Выберите безопасный путь
Запишите имя базы и состав таблиц, сохраните резервную копию и сверяйте её с нужным проектом. При создании новой тестовой базы используйте отличающееся имя, чтобы она не путалась с рабочей.
Проверка завершена, когда новый сайт устанавливается в своей пустой базе, а прежняя база осталась неизменной. Если задачей было именно обновление, результат оценивается по сохранности идентификаторов, JSON-полей, связей и медиа, а не по появлению приветственного экрана установщика.
Продолжить работу
Проверьте последовательность на отдельной копии сайта. Сопоставьте задачу с возможностями ядра. Другой материал этого раздела: Как проверить совместимость CMS с PHP 8.3.
