синхронизация тестовой и активной базы данных ExpressionEngine

Мы только начали использовать EE и очень довольны этим, но столкнулись с проблемой. У нас есть сервер для разработки/тестирования и рабочий сервер. Проблема в том, что когда сайт работает и мы хотим внести изменения, например добавить плагин. Мы добавляем плагин на сервер разработки/тестирования, но затем у нас есть 2 разные базы данных. Если мы хотим перенести наши изменения на рабочий сервер, мы не можем заменить действующую базу данных, потому что тогда данные, вставленные нашим клиентом, будут перезаписаны. И синхронизация базы данных — это сложная работа, для которой нам нужно очень хорошо изучить базу данных. Из-за возможности того, что один и тот же идентификатор в двух базах данных относится к двум разным вещам.

Мне любопытно, есть ли у других такая же проблема, и если кто-то нашел решение этой проблемы.


person Hilbert Vierstra    schedule 16.12.2011    source источник


Ответы (2)


Обычно вы создаете модуль вместо плагина (или комбинируете их), если вам нужно создавать таблицы базы данных и управлять ими. Это позволяет создавать процедуры установки, удаления и обновления.

Таким образом, вы сможете отправить модуль (с плагинами, расширениями и прочим) на производственный сервер и правильно установить модуль, не нарушая существующие данные.

person Repox    schedule 16.12.2011

Это извечный вопрос о сайтах, управляемых базами данных, и производственных/постановочных/разработочных серверах. Нет другого ответа, кроме как перенести изменения базы данных вручную или написать собственные сценарии, которые сделают это за вас.

person Derek Hogue    schedule 16.12.2011