Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

382
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda