Descripción

La tabla experiencia_laboral almacena información sobre la experiencia laboral de los usuarios. Cada registro incluye detalles como el puesto ocupado, la empresa, ubicación, fechas de inicio y finalización, así como una descripción del trabajo realizado.

Código de la migración

'use strict';

module.exports = {
  up: async (queryInterface, Sequelize) => {
    await queryInterface.createTable('experiencia_laboral', {
      id: {
        type: Sequelize.INTEGER,
        autoIncrement: true,
        primaryKey: true,
        allowNull: false,
      },
      usuarioId: {
        type: Sequelize.INTEGER,
        allowNull: false,
        references: {
          model: 'users', // Relación con la tabla 'users'
          key: 'id',
        },
        onUpdate: 'CASCADE',
        onDelete: 'CASCADE',
      },
      tituloPuesto: {
        type: Sequelize.STRING,
        allowNull: false,
      },
      empresa: {
        type: Sequelize.STRING,
        allowNull: false,
      },
      ubicacion: {
        type: Sequelize.STRING,
        allowNull: true,
      },
      fechaInicio: {
        type: Sequelize.DATEONLY,
        allowNull: true,
      },
      fechaFin: {
        type: Sequelize.DATEONLY,
        allowNull: true,
      },
      descripcion: {
        type: Sequelize.TEXT,
        allowNull: true,
      },
      createdAt: {
        type: Sequelize.DATE,
        allowNull: false,
      },
      updatedAt: {
        type: Sequelize.DATE,
        allowNull: false,
      },
    });
  },

  down: async (queryInterface, Sequelize) => {
    await queryInterface.dropTable('experiencia_laboral');
  }
};

Estructura de la tabla

  1. id
  2. usuarioId
  3. tituloPuesto
  4. empresa
  5. ubicacion
  6. fechaInicio
  7. fechaFin
  8. descripcion
  9. createdAt y updatedAt

Funcionalidades

  1. up
  2. down