У меня есть приложение Django, использующее Postgres db. Мне нужно иметь возможность резервного копирования и восстановления db - как для того, чтобы не потерять данные, так и иметь возможность копировать данные с производственного сервера на сервер разработки во время тестирования.
Кажется, есть несколько способов сделать это:
1) Просто взаимодействуйте с db напрямую. Итак, для Postgres я могу написать script с помощью pg_dumpall и psql.
2) Используйте команды "sqlclear/sqlall", которые поставляются с Django.
3) Используйте команды "dumpdata/loaddata", которые поставляются с Django. Итак, создайте новые светильники из db, которые вы хотите создать, и затем загрузите их в db, который хотите восстановить.
4) Используйте плагин Django, например django-dbbackup.
Я действительно не понимаю плюсы и минусы этих разных методов.
Как раз в верхней части моей головы вариант 1 имеет значение db, а опция 3 больше подходит для настройки исходных данных. Но я все еще не уверен, какие преимущества у опции 4 есть над вариантом 2.
Спасибо.