2010-06-14 17 views
34

Necesito migrar mi db de sqlite a mysql, y las diversas herramientas/scripts que hay son demasiado para que pueda detectar fácilmente la solución más segura y elegante.¿Cuál es la mejor forma de migrar una base de datos de Django de SQLite a MySQL?

Esto me pareció agradable http://djangosnippets.org/snippets/14/ pero parece haber pasado 3 años desde conseguir una actualización que es preocupante ..

Me puede recomendar una solución que se sabe que es fiable con Django 1.1.1?

+3

Supongo que ya has probado un 'dumpdata' seguido de' loaddata' –

Respuesta

60

ejecutar:

python manage.py dumpdata > datadump.json 

A continuación, cambiar su settings.py a la base de datos MySQL.

Por último:

python manage.py loaddata datadump.json 
+3

Excepto que a veces esto no funciona, si ha puesto datos unicode en cadenas en sql, el creador del dispositivo y mysql no parecen llevarse bien. Al menos, eso es lo que vine aquí tratando de descubrir cómo resolverlo. – freyley

+2

O esto no funciona debido a errores de integridad ... o muchos otros problemas. – Marcin

+1

A veces sube "... no es JSON serializable" –

23

Después de algunas búsquedas dura Tengo varios problemas que espero futuras respuestas mirando la gente encontrará útil.

mi fórmula es

  1. python manage.py dumpdata > datadump.json
  2. Cambio settings.py a su mysql
  3. asegurarse de que puede conectarse en su mysql (permisos, etc.)
  4. python manage.py migrate --run-syncdb
  5. Excluir contentype datos con este fragmento

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

  6. python manage.py loaddata datadump.json

la esperanza de que le ayudará!

+0

que me funciona. gracias montones – mark

+0

¿Qué hace la exclusión de datos contenttype? – DeltaG

+1

@DeltaG La respuesta canónica es [this] (https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/). Pero la mejor respuesta que encontré es: [este] (https://stackoverflow.com/questions/20895429/how-exactly-do-django-content-types-work) –

Cuestiones relacionadas