Как мигрировать модели Django с MySQL в SQLite (или между любыми двумя системами базы данных)?

StackOverflow https://stackoverflow.com/questions/4544419

Вопрос

У меня есть развертывание Django в производстве, которое использует MySQL.

Я хотел бы сделать дальнейшую разработку с SQLite, поэтому я хотел бы импортировать свои существующие данные в базу данных SQLite. я

Есть сценарий оболочки здесь Чтобы преобразовать общий свалку MySQL в SQLite, но это не сработало для меня (очевидно, общая проблема нелегко).

Я подумал, что делать это с помощью моделей Django должно быть намного проще. Как бы вы это сделали? У кого -нибудь есть сценарий, чтобы сделать это?

Это было полезно?

Решение

использовать

manage.py dumpdata > your_file.json

для экспорта ваших данных из производственной системы (док).

Затем переместите файл в систему разработки и запустите

manage.py loaddata your_file.json

Вы также можете поместить файл в папку your_app/finctures с именем "initial_data.json", и он будет автоматически загружен при запуске "Manage.py Syncdb" (док).

Другие советы

Вы пробовали использовать 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())

Смотрите полное руководство здесь

Может попробовать Юг:

http://south.aeracode.org/docs/index.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top