1
resposta

Preciso resolver um problema no meu código...

Olá devs, tudo bem? Preciso de ajuda em um código específico de um sistema de locação que estou montando para uma empresa... O erro acontece quando no terminal uso o comando:

npx sequelize-cli db:seed --seed 20241107004743-demo-equipamentos.js

Quando dou esse comando para migração de dados para o banco, gera o erro:

Sequelize CLI [Node: 20.11.1, CLI: 6.6.2, ORM: 6.37.5]

Loaded configuration file "src\db\config\config.json". Using environment "development". == 20241107004743-demo-equipamentos: migrating =======

ERROR: Validation error

Poderiam me ajudar analisando o código? OBS: Código feito com Node e express, usando SQLITE.

https://github.com/joaovictormar/projeto-nas-loca-o

1 resposta

Olá João, tudo bem?

O erro de "Validation error" que você está enfrentando ao tentar realizar o seed no seu banco de dados está geralmente relacionado a algum problema com os dados que você está tentando inserir.

Ao rodar o comando npx sequelize db:seed:all --debug consegui informações adicionais sobre porque esse erro está acontecendo, a mensagem que aparece informa que há atributos faltantes, sendo eles o createdAt e updatedAt que são criados automaticamente.

Então, você deve adicionar essas informações no seu seed de equipamentos, segue um exemplo abaixo:

'use strict';

/** @type {import('sequelize-cli').Migration} */
module.exports = {
  async up (queryInterface, Sequelize) {
     await queryInterface.bulkInsert('equipamentos', [
      {
        categoria: "Desktop",
        marca: "Dell",
        modelo: "Precision T5810 Xeon 32GB",
        processador: "Xeon E5-1620",
        memoria: "32GB",
        disco: "1TB HD + 240GB SSD",
        quantidade: "5",
        createdAt: new Date(),
        updatedAt: new Date()
     },
     {
        categoria: "Notebook",
        marca: "Lenovo",
        modelo: "Thinkpad T480",
        processador: "I7",
        memoria: "16GB",
        disco: "480GB SSD",
        quantidade: "4",
        createdAt: new Date(),
        updatedAt: new Date()
     }
    ], {});
  },

  async down (queryInterface, Sequelize) {
     await queryInterface.bulkDelete('equipamentos', null, {});
  }
};

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.