SEQUELIZE – SequelizeDatabaseError: GET http://localhost/v1/merchants ‘Coluna ‘avg_ratings’ desconhecida em ‘field list’ [closed]

  api, javascript, mysql, node.js, sequelize.js

Boa tarde.
Escrevi o model da tabela do MYSQL em questão, que possui essa coluna "avg_ratings", exatamente como está escrito, porém o Sequelize acusa erro dizendo que a coluna não é contada na lista de campos. Adicionei um log que me retorna o SELECT gerado, e segue abaixo o mesmo:

SELECT [...outros campos] `ratings_votes` AS `ratingsVotes` FROM `tb_merchant` AS `Merchant` LIMIT 1;

E quando eu executo a query, ela me retorna corretamente os valores desejados. Quando removo o campo do model, a aplicação executa normalmente o programa.
Inicialmente pensei que fosse por conta da underline, mas há outros campos com underline que retornam normalmente.

O código do arquivo merchantModel.js segue abaixo:

import Sequelize from "sequelize";
const { DataTypes, NOW } = Sequelize;
const { INTEGER, STRING, DATE, TEXT, FLOAT } = DataTypes;

const MerchantModel = database.define(
  "Merchant",
  {
    [...Outros_campos]
    avgRatings: { type: FLOAT(14, 2) ,field:"avg_ratings"},
  },
  {
    tableName: "tb_merchant",
    timestamps: false,
  }
);

export default MerchantModel;

O trecho de código do arquivo merchantRepository.js chamado na requisição segue abaixo:

async findMerchants(limit) {
  return await MerchantModel.findAll({
    limit,
  });
}

O trecho de código que se refere à instância do Sequelize segue abaixo:

const sequelizeInstance = new Sequelize(DB_USER, DB_NAME, DB_PASS, {
  host: DB_HOST,
  operatorsAliases,
  logging(str) {
    logger.debug(str);
  },
  dialect: "mysql",
  timezone: "-03:00",
});

Source: Ask Javascript Questions

LEAVE A COMMENT