Saltar al contenido

Cómo agregar, eliminar nuevas columnas en Sequelize CLI

Mantén la atención ya que en esta crónica encontrarás el arreglo que buscas.Esta división fue aprobado por nuestros expertos para garantizar la calidad y veracidad de nuestro post.

Solución:

Si está utilizando sequelize-cli, primero debe crear la migración. Este es solo un archivo que le dice al motor cómo actualizar la base de datos y cómo revertir los cambios en caso de que algo salga mal. Siempre debe enviar este archivo a su repositorio

$ sequelize migration:create --name name_of_your_migration

El archivo de migración se vería así:

module.exports = 
  up: function(queryInterface, Sequelize) 
    // logic for transforming into the new state
    return queryInterface.addColumn(
      'Todo',
      'completed',
     Sequelize.BOOLEAN
    );

  ,

  down: function(queryInterface, Sequelize) 
    // logic for reverting the changes
    return queryInterface.removeColumn(
      'Todo',
      'completed'
    );
  

Y luego, ejecútalo:

$ sequelize db:migrate

Si desea agregar varias columnas a la misma tabla, envuelva todo en un Promise.all() y coloque las columnas que le gustaría agregar dentro de un array:

module.exports = 
  up: (queryInterface, Sequelize) => 
    return Promise.all([
      queryInterface.addColumn(
        'tableName',
        'columnName1',
        
          type: Sequelize.STRING
        
      ),
      queryInterface.addColumn(
        'tableName',
        'columnName2',
        
          type: Sequelize.STRING
        
      ),
    ]);
  ,

  down: (queryInterface, Sequelize) => 
    return Promise.all([
      queryInterface.removeColumn('tableName', 'columnName1'),
      queryInterface.removeColumn('tableName', 'columnName2')
    ]);
  
;

Puede tener cualquier tipo de columna compatible con la secuencia https://sequelize.readthedocs.io/en/2.0/api/datatypes/

Si está trabajando en vscode, puede agregar una definición de tipo en el archivo de migración. lo que ayuda a identificar todos los métodos que proporciona QueryInterface y Sequelize.

 module.exports = 
/**
   * @typedef import('sequelize').Sequelize Sequelize
   * @typedef import('sequelize').QueryInterface QueryInterface
   */

  /**
   * @param QueryInterface queryInterface
   * @param Sequelize Sequelize
   * @returns
   */
  up: function(queryInterface, Sequelize) 
    // logic for transforming into the new state
    return queryInterface.addColumn(
      'Todo',
      'completed',
     Sequelize.BOOLEAN
    );

  ,

  down: function(queryInterface, Sequelize) 
    // logic for reverting the changes
    return queryInterface.removeColumn(
      'Todo',
      'completed'
    );
  

Que proporcionará intellisense como a continuación
Secuela Intellisense

Recuerda que tienes la capacidad de agregar una reseña si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *