Django ; Как я могу перенести проект, сделанный с помощью sqlite3 на postgresql
В течение нескольких дней мой друг работал в OS:windows и он сделал часть django приложения используя базу данных :sqlite3, он дал мне резервную копию своей работы для завершения моей части, на резервной копии я нашел базу данных под названием databaseproject. db, Мой вопрос в том, что я использую Linux в качестве ОС и postgresql, Как я могу перенести эту базу данных databaseproject.db (это база данных sqlite3) на postgresql.
Ps: когда я попробовал выполнить следующую команду в каталоге (после копирования проекта в виртуальную среду на моем linux):
python manage.py dumpdata --natural-foreign \
--exclude=auth.permission --exclude=contenttypes \
--indent=4 > data.json
----> команда проходит без ошибок, Здесь я обнаружил, что data.json содержит пустой список..
Я хочу знать, как правильно перейти с sqlite3 на postgresql?
Заранее спасибо.
Простейшим способом будет использование dumpdata, за которым следует loaddata здесь.
Если вы видите пустой файл дампа, вам необходимо провести небольшое расследование.
Во-первых, вы можете использовать что-то вроде Sqlite Browser, чтобы убедиться, что данные существуют в общей базе данных, убедиться, что модели приложения содержат данные, а не встроенные модели django.
Тогда вам нужно убедиться, что приложение добавлено внутри INSTALLED_APPS в setttings.py.
И что приложение содержит файл с именем models.py, содержащий модели приложения.
Откройте вашу базу данных любой командой SQLite Viewer и тогда вы сможете убедиться, есть ли у вас данные или нет. Если у вас есть данные, то сделайте их дамп следующей командой:
python manage.py dumpdata --natural-foreign \
--exclude=auth.permission --exclude=contenttypes \
--indent=4 > data.json
далее обновите настройки базы данных с помощью конфигурации PostgreSQL и затем загрузите данные в базу данных PostgreSQL следующей командой:
python manage.py loaddata data.json