Развертывание обновленных или новых плагинов, Изменяющих таблицу параметров wp
У меня есть сайт WordPress под локальным управлением версиями с помощью Git. Я развертываю его на рабочем сервере с помощью Capistrano.
Для первоначального развертывания я вручную импортирую базу данных SQL на рабочий сервер и вручную изменяю все локальные ссылки. С этого момента любые изменения содержимого вносятся на производственном сервере.
По большей части это нормально, но у меня возникают проблемы, когда дело доходит до тестирования/настройки новых или обновленных плагинов, так как многие плагины вносят изменения в таблицу wp_options. Мне нужен способ добавлять/удалять/обновлять/настраивать плагины локально, выполнять все мои тесты, а затем легко развертывать обновленный сайт на рабочем сервере, ничего не нарушая.
Как другие справляются с этим?
1 answers
Не очень хорошо. Есть проблемы не только с WordPress, но и с плагинами в целом при перемещении баз данных на лету, насколько я знаю, для этого нет кажущегося (или простого) способа сделать это, в лучшем случае это хакерство, по этой причине большинство людей все еще используют дампы баз данных.
Если вы просто заботитесь о сохранении URL-адресов бд, вы можете имитировать текущий URL-адрес на своем локальном хост-компьютере с помощью файла vhost.
Если вы хотите сохранить все данные (идентификаторы, содержимое и т. Д.), Вы можете синхронизировать базы данных, просто используйте меры предосторожности или промежуточный сервер, так как это может привести к катастрофе в случае локального изменения или ошибки. Это не часто встречается, потому что любые изменения, сохраненные в локальной базе данных, повлияют на базу данных живого сайта, поэтому это действительно хорошо только для изменения кода.
Альтернативами может быть комбинация вышеперечисленного со сценарием сервера, который автоматизирует миграции и просматривает базу данных, их несколько на github и в других местах.
Некоторые полезные ссылки:
- Как: Легко перенести установку WordPress из разработки в производство?
- Синхронизация базы данных между разработкой/подготовкой и производством
- http://snarfed.org/sync_wordpress (не знал об этом, звучит круто).
Я также считаю, что есть некоторые сторонние службы (хосты), которые теперь делают это.