2010-06-14 1 views
34

Мне нужно перенести свой db из sqlite в mysql, и для различных инструментов/скриптов для меня слишком много, чтобы легко найти самое безопасное и элегантное решение.Каков наилучший способ переноса Django DB из SQLite в MySQL?

Это показалось мне приятно http://djangosnippets.org/snippets/14/, но, кажется, 3-х лет с момента получения обновления, который вызывает беспокойство ..

Вы можете порекомендовать решение, которое, как известно, быть надежным с Django 1.1.1?

+3

Я предполагаю, что вы уже пробовали 'dumpdata', за которым следует' loaddata'? –

ответ

60

Execute:

python manage.py dumpdata > datadump.json 

Далее измените settings.py в базу данных MySQL.

Наконец:

python manage.py loaddata datadump.json 
+3

За исключением случаев, когда это не сработает, если вы помещаете данные в unicode в строки в sql, создатель устройства и mysql, похоже, не ладят друг с другом. По крайней мере, вот что я здесь сделал, пытаясь понять, как решить. – freyley

+2

Или это не работает из-за ошибок целостности ... или многих других проблем. – Marcin

+1

Иногда он поднимает «... не JSON serializable» –

23

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

моя формула

  1. python manage.py dumpdata > datadump.json
  2. Изменить settings.py к вашему MySQL
  3. Убедитесь, что вы можете подключиться на вашем MySQL (разрешения и т.д.)
  4. python manage.py migrate --run-syncdb
  5. Исключить contentype данные с этим фрагментом

    from django.contrib.contenttypes.models import ContentType ContentType.objects.all().delete() quit()

  6. python manage.py loaddata datadump.json

Надежда, которая поможет вам!

+0

, который работает для меня. спасибо кучи – mark

+0

Что делает исключение данных типа контента? – DeltaG

+1

@DeltaG Канонический ответ [this] (https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/). Но лучший ответ, который я нашел, это: [этот] (https://stackoverflow.com/questions/20895429/how-exactly-do-django-content-types-work) –

 Смежные вопросы

  • Нет связанных вопросов^_^