Descripción

Esta migración crea la tabla empresas, diseñada para almacenar información sobre empresas registradas en el sistema. Incluye campos para datos básicos como nombre, dirección, teléfono, email, sitio web, descripción, y una relación con la tabla industrias.

Código de la migración

'use strict';

module.exports = {
  up: async (queryInterface, Sequelize) => {
    await queryInterface.createTable('empresas', {
      id: {
        type: Sequelize.INTEGER,
        autoIncrement: true,
        primaryKey: true,
        allowNull: false,
      },
      nombre: {
        type: Sequelize.STRING,
        allowNull: false,
      },
      direccion: {
        type: Sequelize.STRING,
      },
      telefono: {
        type: Sequelize.STRING,
      },
      email: {
        type: Sequelize.STRING,
      },
      sitioWeb: {
        type: Sequelize.STRING,
      },
      descripcion: {
        type: Sequelize.TEXT,
      },
      industriaId: {
        type: Sequelize.INTEGER,
        references: {
          model: 'industrias', // Relación con la tabla 'industrias'
          key: 'id',
        },
        onUpdate: 'CASCADE',
        onDelete: 'CASCADE',
      },
      createdAt: {
        type: Sequelize.DATE,
        allowNull: false,
      },
      updatedAt: {
        type: Sequelize.DATE,
        allowNull: false,
      },
    });
  },

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

Estructura de la tabla

  1. id
  2. nombre
  3. direccion
  4. telefono
  5. email
  6. sitioWeb
  7. descripcion
  8. industriaId
  9. createdAt
  10. updatedAt

Funcionalidades

  1. up
  2. down