Как восстановить резервную копию базы данных для проекта Django с существующими моделями и миграциями?

Установить базу данных mysql из существующего дампа очень просто

# open prompt cd into the directory where the dump is located
# login to mysql
create database mydb
use mydb
source mydb.sql

И все готово! Но проблема возникает с Django. У Django есть проблемы с существующими схемами и данными, которые не были созданы из моделей и системы миграций. А в Django все должно исходить из моделей и миграций.

Я прекрасно знаю, что у меня есть такая возможность

python manage.py inspectdb > models.py

Но это подходит только при создании пустого нового проекта Django с использованием существующей базы данных.

Что делать, если я хочу перенести существующий проект Django на другую машину, а проект Django использует базу данных? В проекте уже есть существующие модели с некоторыми настройками manage=false, я не могу просто проинспектировать их. А если я восстановлю базу данных вне Django, Django ORM больше не будет ее распознавать.

Тогда какой правильный способ восстановления базы данных из резервной копии базы данных для проекта с существующими моделями и миграциями?

Если база данных, которую вы восстанавливаете, ранее управлялась django, у вас не должно возникнуть проблем с простым восстановлением базы данных с помощью вашего трехэтапного процесса. История миграций Django хранится в виде таблицы в любой базе данных, которой он управляет. Пока эта таблица сохраняется, ваши новые миграции будут работать нормально.

Вернуться на верх