Как и обещалось отписываю о ходе обновы
Суть задачи: Есть 2 сайта рабочая версия (РВ) и тестовая версия (ТВ). На ТВ ведутся разработки приложения, тестируются, одобряются заказчиком и уж потом ставятся на РВ. Все чанки и сниппеты да и вообще максимально все что можно хранится в фалах и подключено как статика. До сегодня были обновления в рамках исправления багов или фиксов интерфейса, оптимизация и т.д. и решалось это все копированием файлов из ТВ на РВ. Сегодня созрела глобальная обнова по расширению функционала и стала задача обновить систему в «ленивом» режиме без ручной регистрации всех новых сниппетов. Системные файлы MODx не менялись и вообще к самому движку это не имеет отношения. Обновление нужно было провести так что бы не затронуть данные РВ поскольку на ней реально работают люди.
Процесс: 1. Забекапился. 2. Скопировал все (касающиеся нашего проекта) папки с файлами с ТВ на РВ. 3. Взял базу с ТВ и выгрузил таблицы БД *_site_htmlsnippets — здесь записаны все чанки *_site_snippets — здесь записаны все сниппеты *_site_plugins — здесь плагины Ресурсы не брались поскольку в РВ версии существует лента новостей которая создает Ресурс для каждой новости. Поэтому ID ресурсов совпадать точно не будут Отсюда первая проблема, в коде использовались 2 ссылки на ресурс вида [[~1]] поправил руками 4. Залил таблицы на РВ 5. Добавил новые таблицы в БД 7. Очистил кеш через фтп. 8. Зашел в админку нашел проблему. Не все чанки сниппеты были видны. Причина в том что не перенес категории. Возврат на ТВ и вытащил еще 2 таблицы *_categories *_categories_closure
Все заработало и все показывает. Обнова прошла достаточно быстро и с экономила время. Ну дольше бы пришлось регать все руками.
Вывод лично для себя. При обновах проектов где нужно закинуть много чанков и сниппетов, вполне пригодная для работы схема.