PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

migration de sqlite vers postgresql dans django

J'ai décidé d'expliquer les instructions à partir de zéro :

  1. Installez Postgres sur votre ordinateur.

    • Installez d'abord sudo apt-get install libpq-dev python-dev qui sont des dépendances Postgres pour fonctionner parfaitement avec Django.
    • Ensuite, entrez sudo apt-get install postgresql postgresql-contrib commande pour installer Postgres.
  2. Accès à Postgres en utilisant sudo su - postgres commande.

  3. Créez une nouvelle base de données. createdb <dbname>

  4. Créez un utilisateur de base de données (avec mot de passe). createuser -P <username>

  5. Accéder au shell en utilisant psql commande.

  6. Accordez à ce nouvel utilisateur l'accès à votre nouvelle base de données avec GRANT ALL PRIVILEGES ON DATABASE <dbname> TO <username>; commande.

  7. Vider les données existantes. python3 manage.py dumpdata > datadump.json

  8. Installez le paquet Postgres. pip install psycopg2

  9. Modifiez la configuration de settings.py comme suit :

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

  1. Assurez-vous que vous pouvez vous connecter à Postgres DB. python3 manage.py migrate --run-syncdb

  2. Exécutez ceci sur le shell Django pour exclure les données de type de contenu.

python3 manage.py shell

>>> from django.contrib.contenttypes.models import ContentType
>>> ContentType.objects.all().delete()
>>> quit()
  1. Enfin, chargez vos données. python3 manage.py loaddata datadump.json