I am trying to migrate my Django application database from SQLite to MySQl.
I'm using the --natural
flag with manage.py dumpdata
as suggested by this answer.
Here are my models
from django.db import models
class DJManager(models.Manager):
def get_by_natural_key(self, name):
return self.get(name=name)
class DJ(models.Model):
objects = DJManager()
name = models.CharField(max_length=50, unique=True)
rank = models.IntegerField()
img = models.ImageField(upload_to='/img/', height_field=None, width_field=None)
soundcloud_profile = models.CharField(max_length=100, blank=True, null=True)
def natural_key(self):
return (self.name)
#for human readable representation of objects
def __unicode__(self):
return self.name
class Song(models.Model):
song_id = models.IntegerField()
name = models.CharField(max_length=100)
title = models.CharField(max_length=100)
normalized_name = models.CharField(max_length=100)
artist = models.ForeignKey(DJ, default=None, blank=True, null=True)
artists = models.CharField(max_length=100)
remixers = models.CharField(max_length=100, default=None, blank=True, null=True)
release_date = models.DateField()
slug = models.CharField(max_length=100)
artwork = models.CharField(max_length=100)
genres = models.CharField(max_length=50)
duplicate = models.BooleanField(default=False)
votes = models.IntegerField(default=0)
#for human readable representation of objects
def __unicode__(self):
return self.normalized_name
I'm dumping the data using the command manage.py dumdata --natural > hunt.json
Then I'm updating the settings to connect to a MySQL database.
Next I'm syncing the database using manage.py syncdb
.
Then using manage.py reset contenttypes
gives me the error (1217, 'Cannot delete or update a parent row: a foreign key constraint fails')
What's wrong here?
On using manage.py loaddata hunt
it gives an error IntegrityError: Could not load contenttypes.ContentType(pk=23): (1062, "Duplicate entry 'south-migrationhistory' for key 'app_label'")