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

Я разработал простое приложение django с использованием sqlite3. Сначала я хотел сохранить его простым с помощью sqlite3, но все начинает масштабироваться (Да, я действительно начал использовать это приложение с sqlite3! Позор мне...) поэтому я хочу перенести все свои данные в базу данных postgresql.

предоставляет ли django или другая третья сторона такую функцию, или я должен страдать за свою собственную глупость...

2 ответов


Я пытаюсь сделать то же самое прямо сейчас, но я сталкиваюсь с проблемой разрешения зависимостей в основном так же, как билет 16317. Но хватит обо мне...

Устранение неполадок это привело меня к поиску ссылки для Джанго-контрабандист что позволяет создавать дампы и загружать данные из интерфейса администратора.

Это выглядит многообещающим для любой передачи данных, необходимых или использовать в качестве резервной утилиты.


во-первых, выполнить

manage.py dumpdata > out.json

затем измените конфигурацию БД, перенесите (или syncdb) и, наконец,

echo "delete from auth_permission; delete from django_content_type;" | python manage.py dbshell

(если у вас есть Django старше 1.11, вам нужно использовать

echo "delete from django_content_type;" | manage.py dbshell

)

затем загрузите файл JSON:

manage.py loaddata out.json

(по состоянию на заменяется django_content_type)