Как перенести модели Django из mysql в sqlite (или между любыми двумя системами баз данных)?
У меня есть развертывание Django в производстве, которое использует MySQL.
Я хотел бы продолжить развитие с SQLite, поэтому я хотел бы импортировать мои существующие данные в базу данных SQLite. я
Здесь есть сценарий оболочки для преобразования общего дампа MySQL в SQLite, но он у меня не сработал (очевидно, что общая проблема не из легких).
Я подумал, что делать это с использованием моделей Django должно быть намного проще. Как бы вы это сделали? У кого-нибудь есть какой-нибудь скрипт для этого?
4 ответа
Использование
manage.py dumpdata > your_file.json
экспортировать ваши данные из производственной системы ( документы).
Затем переместите файл в систему разработки и запустите
manage.py loaddata your_file.json
Вы также можете поместить файл в папку your_app/fixtures с именем "initial_data.json", и он будет автоматически загружен при запуске "manage.py syncdb" ( docs).
Вы пытались использовать manage.py dumpdata > datadump
а затем, когда новая база данных настроена правильно, используйте Python manage.py loaddata datadump
?
Если у вас есть contenttypes в установленном приложении
INSTALLED_APPS = (
'django.contrib.contenttypes',
)
Используйте скрипт, например, для копирования вашей записи в новую базу:
from django.contrib.contenttypes.models import ContentType
def run():
def do(Table):
if Table is not None:
table_objects = Table.objects.all()
for i in table_objects:
i.save(using='slave')
ContentType.objects.using('slave').all().delete()
for i in ContentType.objects.all():
do(i.model_class())
Смотрите полное руководство здесь
Может быть, попробовать на юг: