Migrar SQLite para PostgreSQL (no Django)

·

1 min read

💡
Esse artigo não é um tutorial, são anotações pessoais.

1 - Certificar-se que não tem nenhuma migração pendente.

python manage.py makemigrations
python manage.py migrate

2 - Gerar um arquivo JSON que puxa os dados do atual bd (ex: dumpdata.json)

python manage.py dumpdata > dumpdata.json

Importante: mudar o encoding do arquivo para UTF-8.

4 - Instalar o psycopg2

pip install psycopg2

5 - Ir no settings.py do projeto e colocar os dados do bd:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'test',
        'USER': 'postgres',
        'PASSWORD': 'senha',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

6 - Sincronizar o banco de dados

python manage.py migrate --run-syncdb

7 - Limpar os dados que vem no bd por padrão

python manage.py shell
from django.contrib.contenttypes.models import ContentType
ContentType.objects.all().delete()
exit()

8 - Carregar os dados do arquivo JSON no banco de dados.

python manage.py loaddata datadump.json

9 - Checar no bd se migrou tudo certo.

Â