I need to migrate a complex project from sqlite to PostgreSQL. A lot of people seems to have problem with foreign keys, data truncature and so on...
Edit : I tried django-command-extensions DumpScript but it doesn't run on my 2GB RAM PC with my current DataSet.
In my experience, dumping & restoring from SQL doesn't work properly.
You should follow this sequence instead:
1. Dump db contents to json
$ ./manage.py dumpdata > dump.json
2. Switch the backend in settings.py
DATABASES = {
# COMMENT OUT:
# 'default': dj_database_url.config(default='sqlite:////full/path/to/your/database/file.sqlite'),
# ADD THIS INSTEAD:
'default': dj_database_url.config(default='postgres://localhost:5432/postgres_db_name'),
}
3. Syncdb and migrate the new DB to the same table structure
$ ./manage.py syncdb
$ ./manage.py migrate
4. Load the json to the new db.
$ ./manage.py loaddata dump.json
5. Congrats! Now the new data is in your postgres db.