Gostaria de registrar um feedback sobre a aula. O curso parece ter sido gravado há algum tempo e omite um passo crucial para quem está começando que é a configuração e inicialização do PostgreSQL.
No vídeo, o código do instrutor roda perfeitamente, mas para nós, o erro ECONNREFUSED 127.0.0.1:5432 aparece imediatamente no Postman. O curso não explica que é necessário ter o serviço do Postgres rodando (seja via Docker ou instalação nativa) antes de tentar rodar as migrations ou a API. Sem essa base, ficamos fica travados logo no início.
Para ajudar outros alunos que estão passando pelo mesmo erro, eu utilizo Mac , e essa foi a solução que encontrei
Instalação do Banco: Se não estiver usando Docker, instale o Postgres.app. veja se o status do app esta como "Running".
Configuração de Credenciais: No arquivo api/config/config.json, verifique se o username e password batem com o que você configurou no banco (no meu caso, o usuário padrão do Postgres.app foi let e sem senha).
Criação do Banco: Antes de migrar, é obrigatório rodar o comando:
npx sequelize-cli db:create
Migração: Só após o banco ser criado, rode:
npx sequelize-cli db:migrate
Segue o meu terminal para visualização:
let@MacBook-Air-de-Leticia alura-nodeJs-api-autenticação % npx sequelize-cli db:create
Sequelize CLI [Node: 24.12.0, CLI: 6.6.5, ORM: 6.28.0]
Loaded configuration file "api/config/config.json".
Using environment "development".
Database seguranca_nodejs_development created.
let@MacBook-Air-de-Leticia alura-nodeJs-api-autenticação % npx sequelize-cli db:migrate
Sequelize CLI [Node: 24.12.0, CLI: 6.6.5, ORM: 6.28.0]
Loaded configuration file "api/config/config.json".
Using environment "development".
== 20221222234111-create-produtos: migrating =======
== 20221222234111-create-produtos: migrated (0.008s)
== 20260317144419-create-usuarios: migrating =======
== 20260317144419-create-usuarios: migrated (0.005s)
let@MacBook-Air-de-Leticia alura-nodeJs-api-autenticação % npm run start
seguranca-nodejs@1.0.0 start
nodemon ./api/index.js
[nodemon] 2.0.20
[nodemon] to restart at any time, enter rs
[nodemon] watching path(s): .
[nodemon] watching extensions: js,mjs,json
[nodemon] starting node ./api/index.js
servidor está rodando na porta 3000
Executing (default): SELECT "id", "nome", "email", "createdAt", "updatedAt" FROM "usuarios" AS "usuarios" WHERE "usuarios"."email" = 'let.nasc@gmail.com' LIMIT 1;
Executing (default): INSERT INTO "usuarios" ("id","nome","email","senha","createdAt","updatedAt") VALUES ($1,$2,$3,$4,$5,$6) RETURNING "id","nome","email","senha","createdAt","updatedAt";
Sugiro fortemente que o curso seja atualizado com um vídeo extra de "Preparação de Ambiente", pois muitos alunos desanimam logo no começo por falta de um detalhe de infraestrutura que não foi mostrado em aula.