PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

migração de sqlite para postgresql em django


Eu decidi explicar as instruções do zero:

  1. Instale o Postgres em seu computador.
    • Primeiro instale sudo apt-get install libpq-dev python-dev que são dependências do Postgres para funcionar perfeitamente com o Django.
    • Em seguida, digite sudo apt-get install postgresql postgresql-contrib comando para instalar o Postgres.

  2. Acesso ao Postgres usando sudo su - postgres comando.

  3. Crie um novo banco de dados. createdb <dbname>

  4. Crie um usuário do banco de dados (com senha). createuser -P <username>

  5. Acesse o shell usando psql comando.

  6. Conceda a este novo usuário acesso ao seu novo banco de dados com GRANT ALL PRIVILEGES ON DATABASE <dbname> TO <username>; comando.

  7. Despeje os dados existentes. python3 manage.py dumpdata > datadump.json

  8. Instale o pacote Postgres. pip install psycopg2

  9. Altere a configuração settings.py para o seguinte:
DATABASES = {
 'default': {
     'ENGINE': 'django.db.backends.postgresql_psycopg2',
     'NAME': '<dbname>',
     'USER': '<username>',
     'PASSWORD': '<password>',
     'HOST': 'localhost',
     'PORT': '',  
 }
}


  1. Certifique-se de que você pode se conectar ao Postgres DB. python3 manage.py migrate --run-syncdb

  2. Execute isso no shell do Django para excluir os dados do tipo de conteúdo.
python3 manage.py shell

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