Мне нужна функциональная копия производственной базы данных, но со всеми секретными и личными данными, скрытыми или замаскированными. Это позволит коллегам-разработчикам:
- протестировать и разработать с реалистичными c data
- пробными сложными миграциями на реальном графе сущностей
Все наши приложения размещены на Heroku, я хотел бы найти решение в пространстве Heroku. Я имею в виду концепцию и сначала обратился бы в службу поддержки Heroku, но я даже не уверен, возможно ли это.
Концептуальное решение
Приложение Heroku, которое не имеет сети или рабочие процессы, а не задачи выпуска (пустой Procfile ?♂️).
Один раз в день (планировщик Heroku):
- разветвление рабочей базы Heroku Postgres база данных , присоединяя ветвь к себе как к аддону
- запускать пользовательскую задачу маскирования данных
- продвижение маскированной базы данных
- создание резервной копии новой первичной базы данных
- удалить предыдущую первичную базу данных
Разработчики затем извлекут последнюю резервную копию и восстановят ее локально.
Я полагаю, для этого потребуется несколько пакетов сборки:
Препятствия
I'mv Мы потратили несколько дней, изучая документацию Heroku и изучая коммерческие решения .
Возможно ли это, имеет ли смысл функциональность Heroku?
Что такое приложение Heroku без веб-процесса ?
Как перейти между Ruby и Heroku CLI для продвижения разветвления-маскирования?
Как сохранить процесс раз в день c, чтобы производственные данные никогда не были доступны в немаскированном состоянии?