Как справиться с резервным копированием и восстановлением базы данных в разных средах? - PullRequest
0 голосов
/ 19 декабря 2018

Я использую Directus в среде prod и в нескольких средах без поддержки.В Prod пользователи будут обновлять контент только в коллекциях.В non-prod администраторы будут тестировать все остальные обновления, касающиеся новых коллекций, пользовательских ролей, разрешений и т. Д. Я планирую создавать резервные копии таблиц, связанных с содержимым коллекций, в prod и восстанавливать их в более низких средах, чтобы поддерживать актуальность данных.После того, как тестирование новых коллекций или другие изменения администратора будут выполнены в непроданных средах, я планирую создать их резервную копию и затем восстановить таблицы, связанные с этими изменениями, до prod.Прямо сейчас планируется написать сценарии оболочки, используя mysqldump и mysqlimport для выполнения этих операций.

Мой вопрос заключается в том, какие таблицы, относящиеся к содержимому коллекции, нужно резервировать в prod и перемещать в более низкие среды?Кроме того, могу ли я использовать метод, описанный здесь , чтобы не перезаписывать какие-либо записи операций и избежать потери данных?

1 Ответ

0 голосов
/ 20 декабря 2018

Критически важные таблицы:

  • directus_collections (какие коллекции есть)
  • directus_fields (какие поля в этих коллекциях)
  • directus_relations (какие коллекциисвязаны друг с другом)

Я бы лично скопировал все таблицы directus_ *.Даже если вам не обязательно переходить к таким вещам, как активность, я буду осторожен и постараюсь не столкнуться с какими-либо странными проблемами позже.

Кроме того, могу ли я использоватьметод, описанный здесь, чтобы не перезаписывать какие-либо записи операций и не терять данные?

Если вы не собираетесь редактировать какой-либо фактический контент в непроизводительных средах, вы должны иметь возможность игнорировать directus_activity иdirectus_revisions, так как эти два непосредственно связаны с необработанным контентом.

...