Instalando o Sequelize no Node.js
O Sequelize é uma biblioteca ORM (mapeamento objeto-relacional ou Object-Relational Mapping) para aplicações em Node.js, que mapeia tabelas em bancos de dados e suas relações com classes. Usando o Sequelize, não precisamos escrever consultas SQL, pois podemos trabalhar com dados como se fossem objetos comuns. O Sequelize é compatível com vários sistemas de gerenciamento de banco de dados, incluindo MySQL, Postgres, MariaDB, SQLite e MS SQL Server.
Você pode encontrar mais detalhes sobre o funcionamento do Sequelize na documentação oficial. Neste tema, vamos nos concentrar nos aspectos principais de como trabalhar com dados, usando como exemplo a interação com o SQLite, já que o SQLite não requer a instalação de um servidor e é suportado de forma nativa.
Primeiro, vamos instalar o pacote Sequelize:
npm install --save sequelize
Para conectar-se ao banco de dados, precisamos criar um objeto Sequelize:
const Sequelize = require("sequelize");
const sequelize = new Sequelize("usersdb2", "root", "123456", d{
dialect: "mysql",
host: "localhost"
});
O objeto Sequelize é criado através da função Sequelize
, que recebe vários parâmetros. A quantidade de parâmetros pode variar dependendo do sistema de banco de dados utilizado. Na maioria dos casos, especialmente para sistemas que requerem um servidor (como MySQL, PostgreSQL, MSSQL, Oracle, MariaDB), são usados os seguintes parâmetros. O primeiro parâmetro é o nome do banco de dados. O segundo é o login, e o terceiro é a senha. Esses parâmetros são obrigatórios.
Além disso, através do quarto parâmetro, podemos configurar várias opções adicionais. Este quarto parâmetro é um objeto que possui várias propriedades. No exemplo acima, utilizamos apenas duas. A primeira propriedade, dialect
, indica o dialeto SQL que será usado nas consultas: neste caso, "mysql". A segunda propriedade, host
, representa o endereço onde o servidor está rodando. Por padrão, o host é "localhost", então, para conectar-se a um banco de dados local, essa propriedade pode ser omitida.
Dependendo do sistema de banco de dados que você vai utilizar, os possíveis valores para a propriedade dialect são:
mysql
mariadb
sqlite
postgres
mssql
mssql
Conectando ao SQLite
Para trabalhar com o SQLite, é necessário instalar o pacote sqlite3
:
npm install --save sqlite3
Ao criar o objeto Sequelize, especificamos o dialect: "sqlite"
nos parâmetros:
const Sequelize = require("sequelize");
const sequelize = new Sequelize({
dialect: "sqlite",
storage: "programicio.db",
});
Além disso, o parâmetro storage
define o caminho para o banco de dados.
Conectando ao MySQL
Para trabalhar com o MySQL, é necessário instalar o pacote mysql2
, cuja utilização foi abordada no capítulo anterior:
npm install --save mysql2
Ao criar o objeto Sequelize, especificamos dialect: "mysql"
nos parâmetros:
const Sequelize = require("sequelize");
const sequelize = new Sequelize("usersdb2", "root", "123456", {
dialect: "mysql",
host: "localhost",
});
Conectando ao Postgres
Para trabalhar com o banco de dados Postgres, é necessário instalar o pacote pg
:
npm install --save pg
Ao criar o objeto Sequelize, especifique dialect: "postgres"
nos parâmetros:
Todo o restante da interação com o banco de dados, na maioria dos casos, não depende especificamente do sistema de banco de dados em uso, com algumas exceções. Isso significa que grande parte do código (se não todo) pode ser reutilizado para se conectar a diferentes sistemas de banco de dados.