В настоящее время я использую скрипт дампа и фиксирую базу данных в git-репо.
--skip-extended-insert --skip-comments --skip-dump-date
означает, что diff может дать мне четкое представление о том, что изменилось, но все это рухнет, если я попытаюсь слиться.
WP_SITEURL, WP_HOME и все другие места WordPress хранит полные URL-адреса, которые необходимо обновить при импорте на другой хост (тестирование, подготовка, производство)
Кто-нибудь использует лучший метод?
Главные проблемы:
- Wordpress хранит полные URL по всей базе данных (непереносимые)
- Много других, не относящихся к делу изменений записей
- значения auto_increment (я просто удаляю их, но столкнулся с проблемами идентификатора)
- временные метки (также могут быть удалены)
- переходные * записи ... не знаю, что с ними делать
Процесс, который создавал временные миграции, с добавлением или удалением только вещей, был бы идеальным ... но я не уверен, возможно ли это вообще?
database
migration
version-control
Джейкоб Дорман
источник
источник
Ответы:
Вот два возможных решения, оба они на самом деле являются общими инструментами контроля версий MySQL, но могут быть адаптированы к вашему рабочему процессу:
dbv.php
Этот инструмент создает «миграции», которые в основном являются сценариями SQL, из изменений, обнаруженных в базе данных. Эти сценарии хранятся в локальном каталоге и, таким образом, могут быть переданы в вашу текущую VCS (например, git).
Он используется через веб-интерфейс PHP.
DBVC
Принципиально похож на предыдущий инструмент, он основан на интерфейсе командной строки. Это настраивается через файл JSON. Основное отличие состоит в том, что он не генерирует файлы миграции автоматически.
Существует нерешенная проблема для интеграции этого с предыдущим аналогичным, так что это то, что нужно искать.
Плагины для Wordpress
Некоторые плагины, которые могут помочь в создании повторяемого рабочего процесса:
источник
Я делаю это на MYSQL.
Он помещает все схемы таблиц и данные в их собственный файл, чтобы я мог легко увидеть, что изменилось.
В отличие от большинства других решений в этом потоке, это решение получает данные, что важно для CMS.
Это решение не использует никаких инструментов, только скрипт командной строки.
изменить: я обнаружил, что мой старый код был ошибка, где порядок импорта был важен. снятие
--compact
флага исправляет ошибку.Старый код
а вот как импортировать
источник