1
resposta

Arquivo "pessoas.js" foi criado de forma diferente.

Bom dia, Pessoal, tudo bom?

Estou acompanhando o curso da Juliana um pouco diferente. Estou fazendo um projetinho pessoal de um e-commerce e estou adaptando as aulas de acordo com as minhas necessidades.

No lugar do arquivo "pessoas.js" foi criado um arquivo "produtos.js", então não fiquem confusos rs.

Seguinte, após inserir o seguindo comando:

npx sequelize-cli model:create --name Produtos --attributes nome:string,quantidade:integer,fornecedor:string,categoria:string

Foi criado o arquivo produtos.js, porém, com códigos um pouco diferentes do apresentado na aula.

Código:

'use strict';
const {
  Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
  class Produtos extends Model {
    /**
     * Helper method for defining associations.
     * This method is not a part of Sequelize lifecycle.
     * The `models/index` file will call this method automatically.
     */
    static associate(models) {
      // define association here
    }
  };
  Produtos.init({
    nome: DataTypes.STRING,
    quantidade: DataTypes.INTEGER,
    fornecedor: DataTypes.STRING,
    categoria: DataTypes.STRING
  }, {
    sequelize,
    modelName: 'Produtos',
  });
  return Produtos;
};

Será que vou ter algum problema no decorrer do curso?

Digo, fiquei na dúvida pois não encontrei o método "define", e estou com medo de que a tabela não tenha sido criada corretamente.

Poderiam me ajudar esclarecer meu código?

Obrigado =D

1 resposta

Olá Cauê, tudo bem?

Acredito que a diferença seja apenas por uso de diferentes versões. As versões usadas no curso foram:

"dependencies": {
    "body-parser": "^1.19.0",
    "express": "^4.17.1",
    "mysql2": "^2.1.0",
    "path": "^0.12.7",
    "sequelize": "^5.21.7",
    "sequelize-cli": "^5.5.1"
  }

Já a minha implementação feita hoje (Janeiro/2021) está usando as seguintes versões:

"dependencies": {
    "body-parser": "^1.19.0",
    "express": "^4.17.1",
    "mysql2": "^2.2.5",
    "path": "^0.12.7",
    "sequelize": "^6.4.0",
    "sequelize-cli": "^6.2.0"
  }

Como você pode perceber, as versões do mysql2, sequelize e sequelize-cli são mais atuais.

Porém, pode seguir em frente: a diferença dos arquivos não causa nenhum erro. O Sequelize atualizou a forma que ele pegava os dados para criar as tabelas.

Espero que tenha ajudado! =)

Cussa

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