Sequelize
Sequelize é uma biblioteca ORM (Mapeamento objeto-relacional) para Postgres, MySQL, MariaDB, SQLite e Microsoft SQL Server. Mapeamento objeto-relacional (ou ORM, do inglês: Object-relational mapping) é uma técnica de desenvolvimento utilizada para converter dados entre a aplicação e o banco de dados utilizando programação orientada aos objetos. As tabelas do banco de dados são representadas através de classes e os registros de cada tabela são representados como instâncias das classes correspondentes.
Desta forma, o programador o programador utiliza uma interface de programação para fazer o trabalho de persistência, sem se preocupar com os comandos em linguagem SQL.
Configurando o MySQL
Antes de prosseguir, configure o MySQL de acordo com os passos listados aqui.
Criando o projeto
Para criar o seu projeto e conseguir usar o Sequelize como ORM para se comunicar com o banco de dados, você precisará usar o pacote sequelize-cli
da seguinte forma.
- Certifique-se de que o seu diretório de trabalho é o projeto no qual você irá utilizar o Sequelize.
- Instale os pacotes
sequelize-cli
esequelize
com o comandonpm i sequelize sequelize-cli --save
. O pacotesequelize-cli
poderá ser instalado globalmente (npm i sequelize-cli -g
), enquanto que osequelize
pode ser instalado somente no projeto atual (npm i sequelize --save
). - Agora você poderá rodar o comando
sequelize init
para inicializar o seu projeto. Se você não conseguiu rodar osequelize init
porque instalou osequelize-cli
localmente, precisará executar o seu binário (executável) de uma forma diferente para prosseguir. Os binários de pacotes Node.js ficam localizados no diretórionode_modules/.bin
dentro de seu projeto. Para executar no Windows, digite no terminalnode_modules\.bin\sequelize init
e aperte Enter.
Foram criados alguns diretórios e agora você terá a seguinte árvore de diretórios:
projeto
|- src
|- config
|- migrations
|- models
|- node_modules
|- seeders
|- package-lock.json
|- package.json
- Neste momento, você precisará configurar o acesso ao banco de dados.
Configurando o projeto
- Com o usuário e base de dados criados, iremos inserir as configurações no arquivo
config/config.json
. O valor inserido emusername
é o nome do usuário que você criou ao configurar o MySQL nesta etapa. Use a senha que você inseriu para o usuário empassword
e odatabase
é o nome da base de dados que você criou também naquela etapa. O campohostname
deve conter o IP de ua máquina, mas use “localhost” para fins de desenvolvimento. Finalmente, odialect
émysql2
. Por enquanto, preencha apenas as configurações do ambientedevelopment
.
Suas configurações devem ficar como as listadas a seguir:
"development": {
"username": "[NOME DE USUÁRIO]",
"password": "[SUA SENHA]",
"database": "[BASE DE DADOS]",
"host": "localhost",
"dialect": "mysql"
}
-
Agora é hora de testar se as configurações estão corretas e se seu projeto consegue se comunicar com o banco de dados. Antes de continuar, instale o módulo NPM do MySQL, usando
npm i mysql2
. -
Para facilitar seu trabalho, eu criei um arquivo index.js com a chamada de função para o Sequelize funcionar corretamente. Baixe-o aqui.
-
Execute sua aplicação.