Ignoring invalid configuration option passed to Connection: acquireTimeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: timeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
❌ Database connection failed: Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '36ms',
  query: '\n' +
    '      SELECT \n' +
    '        (SELECT COUNT(*) FROM kpis_generales WHERE DATE(fecha) = CURDATE()) as today_general_kpis,\n' +
    '        (SELECT COUNT(*) FROM kpis_categorias WHERE DATE(fecha) = CURDATE()) as today_'
}
ValidationError: The Express 'trust proxy' setting is true, which allows anyone to trivially bypass IP-based rate limiting. See https://express-rate-limit.github.io/ERR_ERL_PERMISSIVE_TRUST_PROXY/ for more information.
    at _Validations.<anonymous> (/home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:160:15)
    at _Validations.wrap (/home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:313:18)
    at _Validations.trustProxy (/home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:158:10)
    at Object.keyGenerator (/home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:541:19)
    at /home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:595:32
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:576:5 {
  code: 'ERR_ERL_PERMISSIVE_TRUST_PROXY',
  help: 'https://express-rate-limit.github.io/ERR_ERL_PERMISSIVE_TRUST_PROXY/'
}
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '55ms',
  query: '\n' +
    '      SELECT \n' +
    '        SUM(ventas_totales_pesos) as total_ventas_pesos,\n' +
    '        SUM(ventas_totales_unidades) as total_ventas_unidades,\n' +
    '        AVG(ticket_promedio_pesos) as avg_ticket_promedio,\n' +
    '      '
}
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '9ms',
  query: '\n' +
    '        SELECT \n' +
    '          categoria,\n' +
    '          SUM(ventas_pesos) as total_ventas,\n' +
    '          SUM(ventas_unidades) as total_unidades,\n' +
    '          AVG(cross_selling_rate) as avg_cross_selling\n' +
    '        FROM'
}
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '6ms',
  query: '\n' +
    '        SELECT \n' +
    '          sku,\n' +
    '          categoria,\n' +
    '          SUM(ventas_pesos) as total_ventas,\n' +
    '          SUM(ventas_unidades) as total_unidades,\n' +
    '          AVG(margen_bruto_sku) as avg_margen\n' +
    '      '
}
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '17ms',
  query: '\n' +
    '        SELECT \n' +
    '          antecedent,\n' +
    '          consequent,\n' +
    '          lift,\n' +
    '          confidence,\n' +
    '          support\n' +
    '        FROM market_basket_rules \n' +
    '        \n' +
    '        ORDER BY lift DESC\n' +
    '        LIMIT'
}
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '6ms',
  query: '\n' +
    '      SELECT \n' +
    '        id,\n' +
    '        fecha,\n' +
    '        periodo,\n' +
    '        comercio,\n' +
    '        ventas_totales_pesos,\n' +
    '        ventas_totales_unidades,\n' +
    '        ticket_promedio_pesos,\n' +
    '        transacciones_totales'
}
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '12ms',
  query: 'SELECT COUNT(*) as total FROM kpis_generales '
}
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '20ms',
  query: '\n' +
    '      SELECT DISTINCT comercio as store_name, COUNT(*) as record_count\n' +
    '      FROM kpis_generales \n' +
    '      WHERE comercio IS NOT NULL \n' +
    '      GROUP BY comercio \n' +
    '      ORDER BY comercio\n' +
    '    '
}
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '8ms',
  query: '\n' +
    '      SELECT DISTINCT categoria as category_name, COUNT(*) as record_count\n' +
    '      FROM kpis_categorias \n' +
    '      WHERE categoria IS NOT NULL \n' +
    '      GROUP BY categoria \n' +
    '      ORDER BY categoria\n' +
    '    '
}
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '39ms',
  query: '\n' +
    '      SELECT \n' +
    '        id,\n' +
    '        fecha,\n' +
    '        periodo,\n' +
    '        comercio,\n' +
    '        sku,\n' +
    '        categoria,\n' +
    '        ventas_pesos,\n' +
    '        ventas_unidades,\n' +
    '        margen_bruto_sku,\n' +
    '        participac'
}
❌ [DB] Query execution error: {
  error: "Access denied for user 'wichisof_pandanes'@'localhost' (using password: YES)",
  code: 'ER_ACCESS_DENIED_ERROR',
  sqlState: '28000',
  errno: 1045,
  executionTime: '5ms',
  query: 'SELECT COUNT(*) as total FROM kpis_productos '
}
Ignoring invalid configuration option passed to Connection: acquireTimeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: timeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: acquireTimeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: timeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
ValidationError: The Express 'trust proxy' setting is true, which allows anyone to trivially bypass IP-based rate limiting. See https://express-rate-limit.github.io/ERR_ERL_PERMISSIVE_TRUST_PROXY/ for more information.
    at _Validations.<anonymous> (/home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:160:15)
    at _Validations.wrap (/home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:313:18)
    at _Validations.trustProxy (/home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:158:10)
    at Object.keyGenerator (/home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:541:19)
    at /home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:595:32
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /home/wichisof/nodevenv/pandanes-api.wichisoft.com.ar/20/lib/node_modules/express-rate-limit/dist/index.cjs:576:5 {
  code: 'ERR_ERL_PERMISSIVE_TRUST_PROXY',
  help: 'https://express-rate-limit.github.io/ERR_ERL_PERMISSIVE_TRUST_PROXY/'
}
Ignoring invalid configuration option passed to Connection: acquireTimeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: timeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: acquireTimeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: timeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: acquireTimeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: timeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: acquireTimeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: timeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: acquireTimeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: timeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: acquireTimeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: timeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: acquireTimeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: timeout. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
