Django: migrar do SQLite para PostgreSQL
- #PostgreSQL
- #Django
- #SQLite
Para conseguir acompanhar esse passo-a-passo, é necessário já ter instalado o pgadmin no seu computador e saber criar um banco de dados PostgreSQL dentro dele.
1 - Antes de fazer a migração, certificar-se que não há nenhuma migração pendente.
python manage.py makemigrations
python manage.py migrate
2 - Gerar um arquivo JSON que puxa os dados do atual banco de dados (ex: dumpdata.json)
python manage.py dumpdata > dumpdata.json
3 - Importante: mudar o encoding desse arquivo para UTF-8 (canto inferior direito no VSCode).
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 banco de dados 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.