Esta información la he extraido de varios POSTs:

Github - README de mi repo sobre esta aplicación (blog)

Migrating from SQLite to PostgreSQL

En el post anterior dejamos preparada el entorno virtual con todos los modulos que necesita nuestra aplicación (este blog). En este post vamos a terminar de configurarlo todo para que podamos arrancar el servicio.

  • Nos aseguramos de tener activo el entorno virtual: 
trama@laestanciaazul:~/web$ source myprojectenv/bin/activate
(webenv) trama@laestanciaazul:~/web$
  • Migrando datos del servidor antiguo: esta situación fue necesaria en mi caso, porque el blog anteriormente residia en otra máquina. Y por tanto, tuve que hacer una migración previa de todos los datos de la base de datos. Que además, se trataba de una BBDD sqlite.
  • Haciendo un dump de datos de la base de datos anterior:
(webenv) trama@otroserver:~/web$ ./manage.py dumpdata > datadump.json
  • Sincronizando las migrations de Django con la base de datos del nuevo servidor (postgreSQL):
(webenv) trama@otroserver:~/web$ ./manage.py migrate --run-syncdb
  • Borrando los datos por defecto, e importanto el json:
(webenv) trama@otroserver:~/web$ ./manage.py shell
>>> from django.contrib.contenttypes.models import ContentType
>>> ContentType.objects.all().delete()
>>> quit()
(webenv) trama@otroserver:~/web$ ./manage.py loaddata datadump.json
  • En caso de no necesitar realizar ninguna migración de datos: basta con el hacer el tipici migrate de Django, y crear el super usuario para el administrador web:
(webenv) trama@laestanciaazul:~/web$ ./manage.py migrate
(webenv) trama@laestanciaazul:~/web$ ./manage.py makemigrations
(webenv) trama@laestanciaazul:~/web$ ./manage.py createsuperuser
  • Arrancando la app: por último arrancamos la app para ver que todo funciona correctamente:
(webenv) trama@laestanciaazul:~/web$ ./manage.py runserver 0.0.0.0:8000