sql >> Base de Datos >  >> RDS >> PostgreSQL

migración de sqlite a postgresql en django

He decidido explicar las instrucciones desde cero:

  1. Instale Postgres en su computadora.

    • Primero instale sudo apt-get install libpq-dev python-dev que son dependencias de Postgres para trabajar perfectamente con Django.
    • Luego, ingresa sudo apt-get install postgresql postgresql-contrib comando para instalar Postgres.
  2. Acceso a Postgres usando sudo su - postgres comando.

  3. Cree una nueva base de datos. createdb <dbname>

  4. Crear un usuario de base de datos (con contraseña). createuser -P <username>

  5. Acceda al shell usando psql comando.

  6. Otorgue a este nuevo usuario acceso a su nueva base de datos con GRANT ALL PRIVILEGES ON DATABASE <dbname> TO <username>; comando.

  7. Volcar los datos existentes. python3 manage.py dumpdata > datadump.json

  8. Instale el paquete Postgres. pip install psycopg2

  9. Cambie la configuración de settings.py a lo siguiente:

DATABASES = {
 'default': {
     'ENGINE': 'django.db.backends.postgresql_psycopg2',
     'NAME': '<dbname>',
     'USER': '<username>',
     'PASSWORD': '<password>',
     'HOST': 'localhost',
     'PORT': '',  
 }
}

  1. Asegúrese de que puede conectarse a Postgres DB. python3 manage.py migrate --run-syncdb

  2. Ejecute esto en el shell de Django para excluir datos de tipo de contenido.

python3 manage.py shell

>>> from django.contrib.contenttypes.models import ContentType
>>> ContentType.objects.all().delete()
>>> quit()
  1. Finalmente, cargue sus datos. python3 manage.py loaddata datadump.json