adonisjs / core

AdonisJS is a TypeScript-first web framework for building web apps and API servers. It comes with support for testing, modern tooling, an ecosystem of official packages, and more.

Home Page:https://adonisjs.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Db connection : "localhost" and "::1" confusion

TeoConan opened this issue · comments

Package version

11.3.1

Node.js and npm version

v18.16.0, 9.5.1

Sample Code (to reproduce the issue)

In .env, MYSQL_HOST=localhost

BONUS (a sample repo to reproduce the issue)

I don't know if it's juste me, but if you create an Adonis project, setup a MySQL connection and try, for example, to run a migration with this line in your .env file :

MYSQL_HOST=localhost

You'll receive :

$ node ace migration:run
Error: connect ECONNREFUSED ::1:3306

So I tried to do this to verify what's happening on my local mysql :

mysql -h localhost -uroot -p -D lucid # work
mysql -h ::1 -uroot -p -D lucid # doesn't work

You can correct this very easily by set your .env var MYSQL_HOST by 127.0.0.1

Hey @TeoConan! 👋🏻

That's a change in how Node.js resolves localhost. Now it returns IP addresses in the order they are returned from the name resolver/DNS. nodejs/node#39987

Maybe we should change the default value in our .env file to 127.0.0.1 to avoid any issue related to this.
Any feedback on this @targos?

+1 to use 127.0.0.1