O que é?

Sequelize é um ORM para Node.Js baseado em promise, utilizado para os bancos de dados: Postgres, MySQL, MariaDB, SQLite e Microsoft SQL Server. Com o sequelize, da para fazer mapeamento de dados relacionais (tabelas, colunas e linhas) para objetos JavaScript.

Ele permite criar, buscar, atualizar e remover dados do banco utilizando métodos JS, permite modificar a estrutura de tabelas, facilitando na criação, população e migração do banco de dados.

Como usar ?

Seguindo a documentação v6.

entre na pasta do seu projeto e instale o sequelize

$ npm install --save sequelize

Em seguida, instale a dependência do banco que você vai usar.

$ npm install --save pg pg-hstore # Postgres
$ npm install --save mysql2
$ npm install --save mariadb
$ npm install --save sqlite3
$ npm install --save tedious # Microsoft SQL Server

Ou instale direto 😂

$ npm i sequelize mysql2

Criando conexão com o DB

const { Sequelize } = require('sequelize');

// opção 1:  Passando um URI de conexão

// Exemplo com sequelize
const sequelize = new Sequelize('sqlite::memory:') 

// Exemplo com postgres
const sequelize = new Sequelize('postgres://user:[email protected]:5432/dbname') 

// Opção 2: Passando parâmetros separadamente (sqlite)
const sequelize = new Sequelize({
  dialect: 'sqlite',
  storage: 'path/to/database.sqlite'
});

// Opção 3: Passando parâmetros separados com outros dialetos (outros dialetos)
const sequelize = new Sequelize('nome do DB', 'node do usuario', 'senha', {
  host: 'localhost',
  dialect: 'mysql'  /* Use o dialeto referente ao seu DB: 'mysql' | 'mariadb' | 'postgres' | 'mssql' */
});

Testando a conexão

Use o método .authenticate() do próprio sequelize. Para isso, crie uma função assíncrona e use o método dentro de um try catch