1
resposta

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

1 resposta

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!!!