sql >> Databasteknik >  >> RDS >> PostgreSQL

migration från sqlite till postgresql i django

Jag har bestämt mig för att förklara instruktionerna från början:

  1. Installera Postgres på din dator.

    • Första installationen sudo apt-get install libpq-dev python-dev som är Postgres beroenden för att fungera perfekt med Django.
    • Skriv sedan in sudo apt-get install postgresql postgresql-contrib kommandot för att installera Postgres.
  2. Tillgång till Postgres med sudo su - postgres kommando.

  3. Skapa en ny databas. createdb <dbname>

  4. Skapa en databasanvändare (med lösenord). createuser -P <username>

  5. Få åtkomst till skalet med psql kommando.

  6. Ge den här nya användaren åtkomst till din nya databas med GRANT ALL PRIVILEGES ON DATABASE <dbname> TO <username>; kommando.

  7. Dumpa befintlig data. python3 manage.py dumpdata > datadump.json

  8. Installera Postgres-paketet. pip install psycopg2

  9. Ändra settings.py-konfigurationen till följande:

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

  1. Se till att du kan ansluta till Postgres DB. python3 manage.py migrate --run-syncdb

  2. Kör detta på Django-skalet för att utesluta contentype-data.

python3 manage.py shell

>>> from django.contrib.contenttypes.models import ContentType
>>> ContentType.objects.all().delete()
>>> quit()
  1. Slutligen laddar du din data. python3 manage.py loaddata datadump.json


  1. Är det bättre att skapa ett index innan du fyller en tabell med data, eller efter att data är på plats?

  2. SQLException:Denna resultatuppsättning är stängd

  3. Använda ett SQLAlchemy Integer-fält för att skapa ett timedelta-objekt för filtrering

  4. hur kontrollerar jag att HikariCP-anslutningspooling fungerar eller inte i Java?