Syn c база данных между несколькими пользователями - PullRequest
0 голосов
/ 04 марта 2020

Я ищу решение для синхронизации c БД между несколькими разработчиками (нас в офисе ..).

Мы используем Wordpress и MAMP (на данный момент, MAMP / Headless WP и NPM / React в будущем) и мы хотим использовать Appveyor (или аналогичный) для развертывания на dev-сервере и live-сервере, и хотим, чтобы БД синхронизировалась повсюду или, по крайней мере, между нами и сервером dev и имела дополнительный (автономный) на live-сервере.

Можно ли это сделать с помощью Liquidbase или есть лучший вариант?

Спасибо :))

1 Ответ

0 голосов
/ 04 марта 2020

Я немного знаю о WordPress и о том, как он использует базу данных, но теоретически это должно быть возможно , если вы говорите о синхронизации изменений схемы. Если вы также пытаетесь чтобы синхронизировать c данные, Liquibase не является подходящим инструментом для работы.

Чтобы сделать это с помощью Liquibase, попробуйте установить с помощью установщика и поработать с некоторыми примерами, чтобы понять, как работает инструмент. В примерах используется локальная база данных h2 в памяти, поэтому довольно просто попробовать и начать все сначала, если вы все испортите.

После ознакомления с вещами вы захотите использовать команду Liquibase generateChangeLog, чтобы создать первоначальный журнал изменений, который содержит все инструкции по созданию схемы, существующей в базе данных, которую вы используете при запуске. generateChangeLog. Затем проверьте, что вы можете запустить liquibase update в отдельной базе данных и заставить WordPress успешно использовать эту базу данных.

После того, как вы доказали этот рабочий процесс, вы можете продолжить, следуя этой схеме:

  1. Прежде чем вносить изменения в схему WordPress, запустите liquibase snapshot, чтобы создать отформатированный снимок JSON схемы "DEV" - схема, которую вы изменяете в режиме разработки. Вам понадобятся дополнительные опции для создания снимка формата JSON.
  2. Внесите необходимые изменения в схему WordPress "DEV", скорее всего, с помощью самого приложения WordPress.
  3. Используйте liquibase diffChangeLog для сравнения снимка JSON с недавно измененным " DEV "схема. Это добавит наборы изменений в существующий файл журнала изменений, которые описывают, как изменить схему для создания желаемых изменений.
  4. Используйте liquibase changeLogsSync в схеме "DEV", чтобы обновить таблицы отслеживания ликвидазы, чтобы ликвидасе было известно, что изменения в журнале изменений уже существуют в этой базе данных.
  5. Используйте liquibase update против База данных «PROD» для отображения изменений новой схемы в этой среде.

Этот рабочий процесс описан в Документах Liquibase для команды моментального снимка .

ps - в Liquibase нет d: -)

...