- Startar aplicação;
- Criar a conexão com o banco de dados
- Criar entidade e tabela no banco de dado usando Prisma
Vamos criar um arquivo server.ts dentro da pasta src. Depois vamos colocar o seguinte código inicial:
import express from 'express';
function bootstap() {
const app = express();
app.listen(8080, () => {
console.log('App started 8080 port.');
});
}
bootstap();
Agora podemos ir no terminal e colocar o seguinte código para startar nossa aplicação
npm run dev:server
Isso fará que a nossa aplicação seja iniciada e agora toda alteração que for feita no código a nossa aplicação será reiniciada automaticamente.
Vamos criar uma banco de dados usando Docker. Não irei explicar aqui como que faz, porém separei um tutorial que ensina passo a passo como fazer isso >> LINK <<
Depois de você criar o seu banco de dados, precisamos fazer a conexão com ele pela aplicação usando o Prisma.
É bem simples, então vamos lá!!! É só seguir os passos abaixo:
Primeiro vamos baixar o dotenv "npm install dotenv" o dotenv serve para criar variáveis de ambiente
Agora vamos criar um arquivo .env na raiz do nosso projeto.
Vamos criar uma variável de ambiente com a seguinte url:
DATABASE_URL="postgresql://USUARIO:SENHA@localhost:5432/DATABASE?schema=SCHEMA"
Você vai substituir pelos nomes que você deu quando criou o banco de dados usando o docker
- "USUARIO";
- "SENHA";
- "5432" é a porta padrão usada pelo postgres;
- "DATABASE";
- "SCHEMA"
O meu vai ficar assim:
DATABASE_URL="postgresql://isaiasiotti:senha@localhost:5432/crudnodejs?schema=public
O Prisma consome essa variável para fazer a conexão com o banco de dados. Agora no terminal você vai digitar:
npx prisma init
E vai perceber que foi criado na raiz do projeto uma pasta chamada prisma com um arquivo schema.prisma esse é o conteúdo do arquivo:
Percebe que ele está consumindo a variável de ambiente que criamos DATABASE_URL
Agora para finalizar vamos construir nossa tabela no banco e entidade usando o prisma.
Quais serão os atributos da nossa entidade Produto?
- codigo
- nome
- descricao
- marca
- categoria
- preco
Perceba que, marca e categoria poderiam ser outras entidades também que se relacionam com produto, entretanto não farei isso para que não se extenda muito, porém você pode futuramente fazer isso para ir treinando.
Dá uma olhadinha na documentação do Prisma >> DOCUMENTAÇÃO <<
Ela é bem completa!
Agora no terminal você vai digitar:
npx prisma migrate dev
Vai pedir que você nomeie essa migrate e após isso você pode perceber que vai ser gerado uma pasta chamada migrations com uma outra pasta e dentro dessa outra pasta haverá um arquivo SQL. Agora no terminal você vai digitar: npx prisma migrate dev run para que essas alterações sejam feitas no banco de dados.
Você pode usar um gerenciador de banco de dados da sua preferência eu uso o dbeaver para verificar as mudanças, ou também você pode usar o próprio prisma, é só digitar no terminal npx prisma studio e vai ser aberto uma página no navegador.
Prontinho! Mais uma parte finalizada! Na parte 3 vamos finalizar nosso crud criando as rotas e funções do nosso CRUD. Até lá!