Meu programa não consegue identificar o dotenv na middleware
Eu estava fazendo um CRUD simples, implementei o dotenv no meu programa, está funcionando quando faço a conexão com o banco de dados e a inserção e uma função normal, mais quando vou fazer isso dentro de uma middleware ele não chama meu dotenv, só funciona quando tiro o process.env e ponho as informações direto na função de conexão.
require( 'dotenv' ).config( { path: '../../.env' } )
const mysql = require( 'mysql2' )
// DESSA FORMA NÃO FUNCIONA
const connection_pool = mysql.createPool( {
host: process.env.DB_HOST,
user: process.env.DB_USER,
database: process.env.DB_DATABASE,
password: process.env.DB_PASS
} )
// DESSA FORMA FUNCIONA
// const connection_pool = mysql.createPool( {
// host: 'localhost',
// user: 'carlos',
// database: 'simple_crud',
// password: 'pass1241'
// } )
module.exports = connection_pool.promise()
INSERÇÃO NO BANCO DE DADOS
const db_conn = require( '../db/connection' )
const createNewClient = ( name ) => {
return db_conn.execute( `INSERT INTO client ( name ) values (?)`, [ name ] )
}
module.exports = { createNewClient }
FAZENDO A INSERÇÃO NO MIDDLEWARE
const data = require( '../data/client' )
const createClient = ( req, res, next ) => {
const client = req.body.name
data.createNewClient( client )
.then( () => {
res.status( 200 ).json( { 'status': 'sucess', 'client': client } )
} )
.catch( ( err ) => {
res.status( 404 ).json( { status: 'error', error: err } )
} )
.finally( () => {
next()
} )
}
module.exports = { createClient }
{
"status": "error",
"error": {
"message": "Access denied for user ''@'localhost' (using password: YES)",
"code": "ER_ACCESS_DENIED_ERROR",
"errno": 1045,
"sqlState": "28000",
"sqlMessage": "Access denied for user ''@'localhost' (using password: YES)"
}
}
Esse é o erro que obtenho quando uso o dotenv, lenbrando que as informações de login estão todas certas, e que em outra função que não seja um middleware funciona.