Published on

Sequelize notes

Create migration files

cd migrations/
/path/to/node_modules/.bin/sequelize migration:create --name example

Add and remove columns

'use strict';

module.exports = {
  up: function (queryInterface, Sequelize) {
    /*
      Add altering commands here.
      Return a promise to correctly handle asynchronicity.

      Example:
      return queryInterface.createTable('users', { id: Sequelize.INTEGER });
    */
    return queryInterface.addColumn(
        'table_names',
        'column_name',
        {
            type: Sequelize.INTEGER,
            allowNull: true,
            comment: 'I am a comment?'

        }
    );
  },

  down: function (queryInterface, Sequelize) {
    /*
      Add reverting commands here.
      Return a promise to correctly handle asynchronicity.

      Example:
      return queryInterface.dropTable('users');
    */
     return queryInterface.removeColumn(
         'table_names',
         'column_name'
    );
  }
};

Sequelize common types

Sequelize.INTEGER
Sequelize.STRING
Sequelize.DATE
Sequelize.TEXT

Running migrations

npx sequelize-cli db:migrate

Undoing migrations

npx sequelize-cli db:migrate:undo

Where

tables.findAll({
    where: {
        name: {
            $ne: "haha"
        }
    }
})

tables.findOne({
    where: {
        name: {
            $eq: "haha"
        }
    }
})