El modelo Empresa representa una empresa en Matchify. Incluye información básica sobre la empresa, como el nombre, dirección, teléfono, email, sitio web, descripción, y la industria a la que pertenece.
import { DataTypes } from 'sequelize';
import sequelize from '../config/database.js';
import Industria from './Industria.js';
const Empresa = sequelize.define('Empresa', {
nombre: {
type: DataTypes.STRING,
allowNull: false,
},
direccion: {
type: DataTypes.STRING,
},
telefono: {
type: DataTypes.STRING,
},
email: {
type: DataTypes.STRING,
},
sitioWeb: {
type: DataTypes.STRING,
},
descripcion: {
type: DataTypes.TEXT,
},
industriaId: {
type: DataTypes.INTEGER,
references: {
model: Industria,
key: 'id',
},
onUpdate: 'CASCADE',
onDelete: 'CASCADE',
},
}, {
tableName: 'empresas',
timestamps: true,
});
Empresa.belongsTo(Industria, { foreignKey: 'industriaId', as: 'industria' });
export default Empresa;
nombre: Nombre de la empresa, obligatorio.direccion: Dirección de la empresa, opcional.telefono: Número de teléfono de la empresa, opcional.email: Correo electrónico de la empresa, opcional.sitioWeb: Sitio web de la empresa, opcional.descripcion: Descripción detallada de la empresa, opcional.industriaId: Referencia a la industria a la que pertenece la empresa, estableciendo una relación con el modelo Industria.tableName: 'empresas': Define el nombre de la tabla en la base de datos como empresas.timestamps: true: Activa los campos createdAt y updatedAt para registrar las fechas de creación y actualización.IndustriaEmpresa.belongsTo(Industria, { foreignKey: 'industriaId', as: 'industria' });
Cada Empresa está asociada con una Industria, lo que permite categorizar a la empresa dentro de un sector o industria específico.
Este modelo facilita la administración de la información empresarial y la clasificación por industria en Matchify.