es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo usar varios archivos .env en Prisma?

Estoy trabajando en un proyecto de Nestjs utilizando Prisma y quiero usar varios archivos .env con Prisma. Sigo la guía aquí. Según la guía, agrego:

"migratetest:mysql": "dotenv -e .env.test -- npx prisma migrate dev",
"migratedev:mysql": "dotenv -e .env.development -- npx prisma migrate dev"

a mi package.json. Ejecuto migratetest:mysql para cargar el archivo .env.test y realizar la migración. Luego, ejecuto start:dev para iniciar la aplicación. Sin embargo, Prisma me muestra el siguiente mensaje de error:

Error: error: No se encontró la variable de entorno: DATABASE_URL.
  -->  schema.prisma:10
   | 
 9 |   provider = "mysql"
10 |    url      = env("DATABASE_URL")
   | 

Parece que no puede encontrar el archivo .env en mi proyecto (según la guía, no hay un archivo .env, debería cambiarse a .env.test y .env.development).

Aquí está mi .env.test:

DATABASE_URL=mysql://root:123456@localhost:3306/test

Aquí está mi .env.development:

DATABASE_URL=mysql://root:123456@localhost:3306/dev

Por favor, ayuda 🙂

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que Prisma no puede encontrar la variable de entorno DATABASE_URL en tus archivos .env.test y .env.development. Para solucionar este problema, puedes intentar los siguientes pasos:

    1. Asegúrate de haber instalado y configurado correctamente el paquete dotenv en tu proyecto NestJS, ejecutando npm install dotenv e importándolo en tu archivo main.ts o app.module.ts usando import 'dotenv/config';.
    2. Verifica que has nombrado correctamente tus archivos .env.test y .env.development y que se encuentran en la raíz de tu proyecto.

    3. Verifica que las variables DATABASE_URL en ambos archivos .env.test y .env.development estén configuradas correctamente con las URL y credenciales correctas para tus bases de datos MySQL.

    4. Verifica que tu archivo package.json incluya los scripts "migratetest:mysql" y "migratedev:mysql", como se muestra en la guía que mencionaste.

    5. Ejecuta el script migratetest:mysql usando npm run migratetest:mysql en tu terminal para cargar el archivo .env.test y migrar la base de datos de prueba.

    6. Finalmente, inicia tu aplicación usando el script start:dev con npm run start:dev, y Prisma debería ser capaz de encontrar la variable de entorno DATABASE_URL desde tu archivo .env.development.

    Si ninguno de los pasos anteriores funciona, puedes intentar eliminar tus archivos .env.test y .env.development y crear nuevos para asegurarte de que estén correctamente nombrados y ubicados. Si el problema persiste, puedes buscar ayuda en las comunidades de NestJS y Prisma o consultar su documentación. ¡Buena suerte!

Comments are closed.