Так что у меня есть сайт Staging and Live Magento. Я хочу сделать такие вещи, как создание тем, установка расширений, обновлений Magento и т. Д. На промежуточном сайте, а затем перенести их на действующий сервер.
Проблема в том, что пока я работаю над изменениями, на сайт поступают живые заказы. Поэтому я не могу просто скопировать файлы и базу данных на работающий сервер. Я буду пропускать заказы и клиентов, и все мои номера заказов будут испорчены.
Итак, как правильно синхронизировать обе базы данных? Что-то вроде обновления или установки расширения Magento внесет изменения в базу данных, поэтому я не могу просто использовать живую базу данных для обоих.
Я видел, как кто-то упоминал об использовании GIT / GitHub, не уверен, как он работает, но все ли вы будете помещать только новые изменения базы данных на действующий сервер вместе с измененными файлами?
Спасибо
Вам не нужно синхронизировать промежуточные и производственные базы данных, когда речь идет о переменных данных, таких как клиенты, заказы и т. Д.
Вместо этого у вас должна быть база данных разработчика (без журналов, клиентов, заказов и т. Д.) Из производства, которую вы используете при подготовке. Вы можете разместить все тестовые заказы, которые хотите повторно заполнить этими данными. Это также означает, что у вас нет риска по электронной почте живым клиентам из вашей промежуточной базы данных.
С точки зрения обновления базы данных, дизайна и т. Д. Вам необходимо отслеживать две области изменений:
Для изменения файлов вы должны использовать систему контроля версий (Git, Subversion и т. Д.) И отслеживать ваши изменения по мере их внесения. Когда они будут протестированы и готовы к развертыванию, вы можете объединить их в master.
Что касается изменений базы данных, то единственный способ убедиться, что при развертывании кода в рабочей среде все просто переключается, — это использовать сценарии установки / обновления Magento для добавления своей конфигурации в базу данных. Если вы не использовали их раньше, это, по сути, файл PHP и номер версии в вашем config.xml для модуля, который вы добавили, добавьте новый скрипт установки и скажите ему, что вы хотите изменить, будь то создание новых таблиц или данных, сохранение или изменение значений конфигурации и т. д.
Основные преимущества отслеживания всех ваших изменений конфигурации в сценариях установщика (я имею в виду все это, буквально), это:
Для дополнительной информации, Алан Сторм имеет отличную статью о них.
Других решений пока нет …