El modelo Educacion representa la formación académica de un usuario en Matchify, permitiendo almacenar información sobre la institución, grado obtenido, campo de estudio y fechas de inicio y fin de la educación.

import { DataTypes } from 'sequelize';
import sequelize from '../config/database.js';
import User from './User.js';

const Educacion = sequelize.define('Educacion', {
    institucion: {
        type: DataTypes.STRING,
        allowNull: false,
    },
    gradoObtenido: {
        type: DataTypes.STRING,
    },
    campoEstudio: {
        type: DataTypes.STRING,
    },
    fechaInicio: {
        type: DataTypes.DATEONLY,
    },
    fechaFin: {
        type: DataTypes.DATEONLY,
    },
    usuarioId: {
        type: DataTypes.INTEGER,
        allowNull: false,
        references: {
            model: User,
            key: 'id',
        },
        onUpdate: 'CASCADE',
        onDelete: 'CASCADE',
    },
}, {
    tableName: 'educacion',
    timestamps: true,
});

export default Educacion;

Explicación de cada propiedad

  1. institucion: Nombre de la institución educativa, obligatorio.
  2. gradoObtenido: Grado o título obtenido, opcional.
  3. campoEstudio: Campo de estudio o especialización, opcional.
  4. fechaInicio y fechaFin: Fechas de inicio y fin de los estudios, almacenadas solo como fecha (sin hora).
  5. usuarioId: Referencia al usuario que tiene esta educación, relacionando el registro con el modelo User.

Configuración del modelo

Este modelo permite gestionar y registrar la formación académica de los usuarios en Matchify, facilitando la organización de sus estudios y títulos obtenidos.