Cube.js Playground: Error while loading DB schema

2.5k Views Asked by At

I am currently learning Javascript/HTML/CSS in order to build some data dashboard. I have found this tutorial https://d3-dashboard.cube.dev/setting-up-a-database-and-cube-js

Currently I am getting stuck at this part:

The next step is to create a Cube.js data schema.

When opening the Cube.js playground at: http://localhost:4000, I get the following output in my terminal:

 Dev environment available at http://localhost:4000, I get the following error:

 Cube.js server (0.21.1) is listening on 4000
Error: getaddrinfo ENOTFOUND <YOUR_DB_HOST_HERE>
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:66:26)

And in the Cube.js playground webpage view:

Error while loading DB schema
Error: getaddrinfo ENOTFOUND <YOUR_DB_HOST_HERE> at
GetAddrInfoReqWrap.onlookup [as oncomplete](dns.js66:26)

I have edited the following file:

d3-dashboard/node_modules/@cubejs-backend/server-core/core/index.js

, with:

const checkEnvForPlaceholders = () => {
  const placeholderSubstr = '<YOUR_DB_';
  const credentials = [
    'CUBEJS_API_SECRET=SECRET',
    'CUBEJS_DB_TYPE=postgres',
    'CUBEJS_DB_NAME=ecom',
    'CUBEJS_WEB_SOCKETS=true'
    /*'CUBEJS_DB_HOST',*/
    /*'CUBEJS_DB_NAME',*/
    /*'CUBEJS_DB_USER',*/
    /*'CUBEJS_DB_PASS'*/
  ];

Any input on what I am doing wrong here? I am totally new to apps and front-ends, so it might be something "stupid" that I am sking, but I really would like to learn from my mistakes :)

Thank you for your time and potential inputs/help!

Have a great day :)

1

There are 1 best solutions below

2
On

You definitely should not edit any files in the node_modules directory. You should store the env variables in the .env file.

-your-cubejs-server-root
--schema
--.env
--//..

And it may look like

CUBEJS_DB_HOST=localhost
CUBEJS_DB_NAME=cubejs
CUBEJS_DB_USER=root
CUBEJS_DB_PASS=
CUBEJS_DB_TYPE=mysql
CUBEJS_API_SECRET=secret

The error you're getting is saying that the connection to the DB cannot be established. Because you're missing the proper CUBEJS_DB_HOST= variable.

The minimum required set of variables differs for each database and can be found here https://cube.dev/docs/connecting-to-the-database