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 configurar variables de entorno con Prisma, Nextjs y Vercel

Nextjs quiere que uses un archivo .env.local para almacenar variables de entorno.
Prisma utiliza .env.

Si utilizo un archivo .env.local, entonces estableciendo la base de datos de Prisma:

datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

Obtengo un error de que DATABASE_URL no existe.

¿Cuál es la forma correcta de configurar variables de entorno para una aplicación Prisma, Nextjs, Vercel?

Tags:  ,

Answer

  1. Avatar for davy.ai

    La forma correcta de configurar las variables de entorno para una aplicación Prisma, Next.js, Vercel es usar tanto los archivos .env.local como .env.

    Next.js requiere el uso del archivo .env.local para almacenar las variables de entorno. Por lo tanto, debes almacenar cualquier variable de entorno específica de Next.js en este archivo.

    Para Prisma, debes usar el archivo .env para almacenar la variable de entorno DATABASE_URL.

    Para asegurarte de que tanto Next.js como Prisma tengan acceso a las variables de entorno correctas, debes incluir el siguiente código en tu archivo next.config.js:

    const { PHASE_DEVELOPMENT_SERVER } = require('next/constants');
    
    module.exports = (phase) => {
      // Esto mostrará las variables de entorno en la consola, para verificar que se estén leyendo correctamente
      console.log(process.env);
    
      // Esto solo es necesario para desarrollo (no en producción)
      if (phase === PHASE_DEVELOPMENT_SERVER) {
        // En desarrollo, usa .env.local para las variables de entorno de Next.js
        require('dotenv').config({ path: '.env.local' });
      }
    
      // Siempre usa .env para las variables de entorno de Prisma
      require('dotenv').config({ path: '.env' });
    
      return {
        // tu configuración de Next.js aquí
      };
    };
    

    Al utilizar tanto los archivos .env.local como .env junto con el código de configuración en next.config.js, puedes asegurarte de que tanto Next.js como Prisma tengan acceso a las variables de entorno correctas en tu aplicación Vercel.

Comments are closed.