Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

395
Views
Pruebas paralelas de Django: los procesos de prueba acceden incorrectamente a las bases de datos de prueba

Tengo un proyecto Django 3.0.8 ejecutándose localmente, conectado a una base de datos PostgreSQL local ( postgres:///myapp ). Cuando ejecuto python manage.py test , mis pruebas unitarias funcionan bien; automáticamente se crea una base de datos de prueba llamada test_myapp y se accede a ella correctamente.

Sin embargo, cuando ejecuto python manage.py test --parallel 8 , la prueba falla. Veo que se generan correctamente 8 bases de datos clonadas ( test_myapp_1 , test_myapp_2 ,..., test_myapp_8 ), pero obtengo errores como estos:

 psycopg2.OperationalError: FATAL: database "myapp_3" does not exist

Parece que para las pruebas paralelas, se accede incorrectamente a las bases de datos (intentando acceder a la base de datos myapp_N en lugar de test_myapp_N ). Estoy tratando de averiguar si mi configuración local tiene problemas, pero esto es todo lo que tengo en mi configuración base:

 DATABASES = { 'default': env.db('DATABASE_URL', default='postgres:///myapp'), } DATABASES['default']['ATOMIC_REQUESTS'] = True

¿Por qué mis procesos de pruebas paralelas no acceden correctamente a sus respectivas bases de datos de pruebas clonadas?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Una solución simple que funcionó para mí es especificar explícitamente el nombre de la base de datos de prueba en settings.py , por ejemplo,

 DATABASES = { 'default': { ... 'TEST': { # Avoid naming it the same as your original database name. # Otherwise, it will be used while testing (and even may get deleted). 'NAME': 'name_of_your_choice', }, }, ... }

Si está utilizando varias bases de datos , es posible que deba hacerlo para todas ellas.

over 4 years ago · Santiago Trujillo Report

0

para usar la base de datos PostgreSQL en su proyecto Django, puede configurar su base de datos de la misma manera.

 DATABASES = { 'default': { "ENGINE": "django.db.backends.postgresql_psycopg2", "NAME": 'Table_name', "USER": 'user_name', "PASSWORD": 'password', "HOST": 'localhost', # or 127.0.0.1 "PORT": '5432', #5432 is the default PostgreSQL port if you change it must change this port } }

y para configurar múltiples bases de datos en su proyecto Django, puede ver esta página y usarla.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!