Estou recebendo esse erro no Postman quando tento restaurar uma pessoa "Column 'deletedAt' cannot be null" e não sei o que pode ser, no meu terminal do VSCode ele retorna o seguinte:
Coloquei dois console.log para identificar por onde o programa está passando, e acaba que ele chega na função restore e não executa ela. Meu código de PessoaController.js
const database = require('../models')
.
.
.
static async restauraPessoa(req, res) {
const { id } = req.params
try {
console.log("Antes do restore");
await database.Pessoas.restore({where: { id: Number(id) }})
console.log("Depois do restore");
return res.status(200).json({ mensagem: `id ${id} restaurado` })
}
catch(erro) {
return res.status(500).json(erro.message)
}
}
Meu código de models/pessoa.js
'use strict';
const { Model } = require('sequelize');
module.exports = (sequelize, DataTypes) => {
class Pessoas extends Model {
static associate(models) {
Pessoas.hasMany(models.Turmas, {
foreignKey: 'docente_id'
})
Pessoas.hasMany(models.Matriculas, {
foreignKey: 'estudante_id'
})
}
};
Pessoas.init({
nome: DataTypes.STRING,
ativo: DataTypes.BOOLEAN,
email: DataTypes.STRING,
role: DataTypes.STRING
},
{
sequelize,
modelName: 'Pessoas',
paranoid: true
});
return Pessoas
};
E a migration usada para adicionar a coluna "deletedAt"
'use strict'
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.addColumn('Pessoas', 'deletedAt', {
allowNull: true,
type: Sequelize.DATE
})
},
down: (queryInterface) => {
return queryInterface.removeColumn('Pessoas', 'deletedAt')
}
}