Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro na hora de executar o comando para criar o modelo Pessoa

Infelizmente estou tendo problemas quando executo o comando para criar o modelo Pessoa

npx sequelize-cli model:generate --name Pessoa --attributes nome:string,email:string,cpf:string,ativo:boolean,role:string

Erro:

ERROR: Unable to find models path (C:\Users\Leonardo\Desktop\Javascript\APIs\ORM Sequelize\nodejs-express-sequelize\models). Did you run sequelize init?

Acredito que seja nesse arquivo .sequelizerc.js, mas ele está igual ao do vídeo.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas

Oi, Leonardo!

Pelo erro e pela imagem dá pra ver que o problema não está no comando em si, mas no caminho que o Sequelize CLI está tentando usar. A mensagem deixa claro que ele está procurando a pasta models na raiz do projeto, enquanto no seu caso ela está dentro de src/models. Mesmo você tendo criado o arquivo .sequelizerc.js, o detalhe que está causando o erro é o uso de ./src/models. Em alguns ambientes, o Sequelize CLI não resolve corretamente caminhos relativos assim. O mais comum é usar path.resolve(dirname, ...), garantindo que o caminho seja absoluto.

const path = require('path');
module.exports = {
config: path.resolve(dirname, 'src/config', 'config.json'),
'models-path': path.resolve(dirname, 'src/models'),
'seeders-path': path.resolve(dirname, 'src/seeders'),
'migrations-path': path.resolve(dirname, 'src/migrations'),
};

Depois disso, confirme que a pasta src/models realmente existe e tente rodar o comando novamente. Não é necessário rodar sequelize init, porque você já está usando uma estrutura personalizada, só precisava garantir que o CLI conseguisse encontrar os caminhos corretos!!!

solução!

Agradeço a ajuda, Thais

Mas consegui resolver o problema aqui.

Acontece que eu devo ter me confundindo e colocando .js no final do arquivo .sequelizerc

Quando removi o .js o comando funcionou normalmente.

Agradeço o/