Olá Guilherme, tudo bem com você?
Você poderia me dizer qual versão do sequelize
e sequelize-cli
, você está utilizando?
Quando você diz que o arquivo disponibilizado
, você quer dizer que fez download do projeto para pegar o arquivo models.js
?
Caso seja, acredito que pode ter dado uma incompatibilidade de versão, pois a partir da versão 6
do sequelize a maneira de fazer esse scan mudou um pouco :)
O ideal seria realmente utilizar o npx sequelize-cli init
para ele gerar esses arquivos base igual a instrutora
Eu fiz aqui um teste, e a partir da versão 6, o models/index.js
está da seguinte forma:
'use strict';
const fs = require('fs');
const path = require('path');
const Sequelize = require('sequelize');
const basename = path.basename(__filename);
const env = process.env.NODE_ENV || 'development';
const config = require(__dirname + '/../config/config.json')[env];
const db = {};
let sequelize;
if (config.use_env_variable) {
sequelize = new Sequelize(process.env[config.use_env_variable], config);
} else {
sequelize = new Sequelize(config.database, config.username, config.password, config);
}
fs
.readdirSync(__dirname)
.filter(file => {
return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
})
.forEach(file => {
const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
db[model.name] = model;
});
Object.keys(db).forEach(modelName => {
if (db[modelName].associate) {
db[modelName].associate(db);
}
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
De fato não temos o sequelize.import
com a versão 6.X.X
Abraços e Bons Estudos!