Как и обещалось отписываю о ходе обновы Суть задачи: Есть 2 сайта рабочая версия (РВ) и тестовая версия (ТВ). На ТВ ведутся разработки приложения, тестируются, одобряются заказчиком и уж потом ставятся на РВ. Все чанки и сниппеты да и вообще максимально все что можно хранится в фалах и подключено как статика. До сегодня были обновления в рамках исправления багов или фиксов интерфейса, оптимизация и т.д. и решалось это все копированием файлов из ТВ на РВ. Сегодня созрела глобальная обнова по расширению функционала и стала задача обновить систему в «ленивом» режиме без ручной регистрации всех новых сниппетов. Системные файлы MODx не менялись и вообще к самому движку это не имеет отношения. Обновление нужно было провести так что бы не затронуть данные РВ поскольку на ней реально работают люди. Процесс:

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