Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

throw new Error(`${this.name}.hasMany called with something that's not a subclass of Sequelize.Model`);

Apos terminar as associacoes me deparei com o seguinte erro! Insira aqui a descrição dessa imagem para ajudar na acessibilidadepensei que poderia ser erro na digitação, mas comparei com os demais aquivos no Git e vi que não possuia nenhum erro do tipo. Abaixo a foto dos meus models Insira aqui a descrição dessa imagem para ajudar na acessibilidadePackage.json: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Boa tarde, Carlos! Tudo bem?

Analisando a suas imagens percebi uma inconsistência que pode está causando esse erro.

No seu arquivo "curso.js" dentro da pasta "models" na linha 8 você faz a associação Curso.hasMany(models.Matricula, { foreignKey: 'curso_id' });, porém, no arquivo "matricula.js" você criou o modelo Matriculas e não Matricula que você usou na associação. Então o problema está relacionado com a forma que você definiu o modelo Matricula.

Com isso, a solução é alterar o nome do modelo no arquivo "matricula.js" para Matricula, e ainda no mesmo arquivo, altere o seguinte trecho de código:

  Matricula.init({
    status: DataTypes.STRING
  }, {
    sequelize,
    modelName: 'Matriculas',
    tableName: 'matriculas',
  });

Para que fique dessa forma:

  Matricula.init({
    status: DataTypes.STRING
  }, {
    sequelize,
    modelName: 'Matricula',
    tableName: 'matriculas',
  });

Espero ter ajudado e caso o problema torne a acontecer peço que compartilhe o erro que você recebeu e todo o seu projeto, via GitHub ou Drive do Google.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

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