Добрый день, подскажите пожалуйста как вы решаете проблемы версионизации рабочего сайта. Допустим у меня есть сайт на локальной машие, на staging и на production серверах. Использование статических елементов (сниппеты, чаник и т.д.) в связке с Git решает многое но не все, например: на двух локальных машинах были установлены дополнительные модули, или два разных программиста перевели один и тот же чанк с динамического на статический указав им разные пути, или заказчик тестируя на staging в контенте ресурса добавил данные, которые потом захочет увидеть у себя. То есть практически все проблемы из-за базы данных.
При разработке дополнений Git помогает, а вот при поддержке рабочего сайта не могу найти правильное решение. Подскажите как вы решаете такие проблемы?
Естественно я видел статьи прежде чем задавать этот вопрос, и елси бы там был ответ, я бы его не задавал. Они же не дают ответ на вопросы: когда два разных программиста перевели один и тот же чанк с динамического на статический указав им разные пути (у меня в практике такое было), или заказчик тестируя на staging в контенте ресурса добавил данные, которые потом захочет увидеть у себя. То есть практически все проблемы из-за базы данных. Именно эти вопросы меня интересовали, а не разработка пакетов и использование шаблонизатора.
На самом деле это частично ответ. Дело в том, что эти технологии практически исключают использование чанков и сниппетов, то есть элементов, хранимых в БД. Поэтому вероятность неполной программной синхронизации (именно самой логики) значительно снижается.
Второй момент здесь это то, что данная технология позволяет еще и незаметно для пользователя вести работы прям на рабочем сайте. То есть создаешь копию текущего скина и вешаешь плагин, который для авторизованного программиста переключает скин сайта на новый. И при таком подходе можно и чанки новые создавать без страха, и контент новый писать и т.д. и т.п. В общем, у нас ваших проблем нет.
Но есть еще момент: многие, когда говорят про проблемы синхронизации баз данных, забывают, что в том же phpMyadmin есть средства синхронизации. Можно просмотреть расхождения и актуализировать конкретные таблицы.
joxi.ru/E2pv5o9fDpRprY
joxi.ru/xAeGldOhK8oNmy
joxi.ru/Y2LjLVESzWKRr6
joxi.ru/a2XVypGu3knlrg
Спасибо за ответ. Все более и более убеждаюсь, что на крупных проектах, где работает несколько человек, поддержка сайта на modx становится затруднительна и вынуждает переходить на фреймвор. Но на маленьких он незаменим.