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.
'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');
}
};
id
INTEGERusuarioId
INTEGERusers.onUpdate: 'CASCADE': Actualiza automáticamente si el id en users cambia.onDelete: 'CASCADE': Elimina los registros relacionados si un usuario es eliminado.tituloPuesto
STRINGempresa
STRINGubicacion
STRINGfechaInicio
DATEONLYfechaFin
DATEONLYdescripcion
TEXTcreatedAt y updatedAt
DATEup
experiencia_laboral con los campos y relaciones especificados.down
experiencia_laboral de la base de datos.