1
resposta

Erro ao rodar aplicação do node. "npm api/index.js" após adicionar as rotas

Estou na parte do curso onde adiciona as rotas para o meu projeto, porém aparece esse erro do node ao tentar rodar o servidor

C:\Users\tazin\OneDrive\Documentos\PROJETOS\my-school>node api/index.js C:\Users\tazin\OneDrive\Documentos\PROJETOS\my-school\node_modules\sequelize\lib\associations\mixin.js:13 throw new Error(${this.name}.hasMany called with something that's not a subclass of Sequelize.Model); ^

Error: Registrations.hasMany called with something that's not a subclass of Sequelize.Model at Registrations.hasMany (C:\Users\tazin\OneDrive\Documentos\PROJETOS\my-school\node_modules\sequelize\lib\associations\mixin.js:13:13) at Classes.associate (C:\Users\tazin\OneDrive\Documentos\PROJETOS\my-school\api\models\classes.js:13:23) at C:\Users\tazin\OneDrive\Documentos\PROJETOS\my-school\api\models\index.js:36:19 at Array.forEach () at Object. (C:\Users\tazin\OneDrive\Documentos\PROJETOS\my-school\api\models\index.js:34:17) at Module.compile (node:internal/modules/cjs/loader:1159:14) at Module.extensions..js (node:internal/modules/cjs/loader:1213:10) at Module.load (node:internal/modules/cjs/loader:1037:32) at Module._load (node:internal/modules/cjs/loader:878:12) at Module.require (node:internal/modules/cjs/loader:1061:19)

Node.js v19.0.1

1 resposta

Olá! Você checou o primeiro parâmetro passado quando você chama .hasMany() na parte de associações nos arquivos da pasta model ?

Estava tentando chegar nesse mesmo erro aqui no meu código e ele aconteceu quando eu passei uma string no local da classe - mas acredito que qualquer erro de digitação possa causar algo assim.

Nesse exemplo abaixo, eu passei a classe Turma como 'Turma':

Print do código com erro na passagem dos parâmetros do método '.hasMany'

Daí, é só corrigir e lembrar de colocar models antes, já que Turma é uma subclasse dele:

Print do código corrigido

Espero ter conseguido ajudar!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software