Как я могу использовать разветвление базы данных Heroku Postgres для маскировки данных? - PullRequest
0 голосов
/ 29 января 2020

Мне нужна функциональная копия производственной базы данных, но со всеми секретными и личными данными, скрытыми или замаскированными. Это позволит коллегам-разработчикам:

  • протестировать и разработать с реалистичными c data
  • пробными сложными миграциями на реальном графе сущностей

Все наши приложения размещены на Heroku, я хотел бы найти решение в пространстве Heroku. Я имею в виду концепцию и сначала обратился бы в службу поддержки Heroku, но я даже не уверен, возможно ли это.

Концептуальное решение

Приложение Heroku, которое не имеет сети или рабочие процессы, а не задачи выпуска (пустой Procfile ?‍♂️).
Один раз в день (планировщик Heroku):

  • разветвление рабочей базы Heroku Postgres база данных , присоединяя ветвь к себе как к аддону
  • запускать пользовательскую задачу маскирования данных
  • продвижение маскированной базы данных
  • создание резервной копии новой первичной базы данных
  • удалить предыдущую первичную базу данных

Разработчики затем извлекут последнюю резервную копию и восстановят ее локально.

Я полагаю, для этого потребуется несколько пакетов сборки:

Препятствия

I'mv Мы потратили несколько дней, изучая документацию Heroku и изучая коммерческие решения .

Возможно ли это, имеет ли смысл функциональность Heroku?
Что такое приложение Heroku без веб-процесса ?
Как перейти между Ruby и Heroku CLI для продвижения разветвления-маскирования?
Как сохранить процесс раз в день c, чтобы производственные данные никогда не были доступны в немаскированном состоянии?

...