Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Globo Aplausos Wiki Globo Aplausos Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Globo Aplausos
  • Globo Aplausos WikiGlobo Aplausos Wiki
  • Wiki
  • Banco de Dados

Banco de Dados · Changes

Page history
docs: Improved Prisma explanation authored Sep 07, 2023 by Felipe Freitas Silva's avatar Felipe Freitas Silva
Hide whitespace changes
Inline Side-by-side
Banco-de-Dados.md
View page @ a7505e86
...@@ -5,10 +5,10 @@ ...@@ -5,10 +5,10 @@
- [Descrição](#descrição) - [Descrição](#descrição)
- [Modelo e provedor escolhido (MySQL)](#modelo-e-provedor-escolhido-mysql) - [Modelo e provedor escolhido (MySQL)](#modelo-e-provedor-escolhido-mysql)
- [Diagrama do Banco de Dados](#diagrama-do-banco-de-dados) - [Diagrama do Banco de Dados](#diagrama-do-banco-de-dados)
- [Configuração do Prisma](#configuração-do-prisma)
- [Utilização do Prisma](#utilização-do-prisma) - [Utilização do Prisma](#utilização-do-prisma)
- [Arquivos e pastas no diretório prisma/](#arquivos-e-pastas-no-diretório-prisma) - [Arquivos e pastas no diretório prisma/](#arquivos-e-pastas-no-diretório-prisma)
- [Comandos úteis (definidos no *package.json*):](#comandos-úteis-definidos-no-packagejson) - [Comandos úteis (definidos no *package.json*):](#comandos-úteis-definidos-no-packagejson)
- [Instalação do Prisma](#instalação-do-prisma)
- [Outros](#outros) - [Outros](#outros)
## Descrição ## Descrição
...@@ -26,11 +26,43 @@ Após definido o modelo, foi necessário escolher o provedor de banco de dados q ...@@ -26,11 +26,43 @@ Após definido o modelo, foi necessário escolher o provedor de banco de dados q
![Relational MySQL Schema](https://tools.ages.pucrs.br/globo-aplausos/globo-aplausos-backend/-/raw/development/prisma/schema.png) ![Relational MySQL Schema](https://tools.ages.pucrs.br/globo-aplausos/globo-aplausos-backend/-/raw/development/prisma/schema.png)
## Configuração do Prisma ## Utilização do Prisma
Esta seção visa explicar como utilizar o Prisma para realizar operações no banco de dados no contexto dessa aplicação, ou seja, estes comandos e explicações são específicas para este projeto. A próxima seção ([Instalação](#configuração-do-prisma)) trata sobre como configurar o Prisma para outros projetos.
### Arquivos e pastas no diretório prisma/
- `migrations`: Esta pasta contém as migrações do banco de dados. Saiba mais sobre elas na documentação: https://pris.ly/d/understanding-migrations
- `*/migration.sql`: Este arquivo contém as instruções SQL que são executadas quando você executa a migração.
- `migration_lock.toml`: Este arquivo contém o estado da migração. Não deve ser editado manualmente.
- `schema.prisma`: Este arquivo contém o seu schema. Saiba mais sobre ele na documentação: https://pris.ly/d/prisma-schema
- `seed.ts`: Este arquivo contém o script que preenche o banco de dados com dados. Você pode executá-lo executando `npm run prisma:update`
### Comandos úteis (definidos no *package.json*):
Depois de editar o arquivo schema.prisma, você precisa atualizar a biblioteca Prisma Client
```sh
npm run prisma:format
```
Se houveram mudanças no schema.prisma, você precisa gerar uma nova migração:
```sh
npm run prisma:update
```
Se você quiser conferir que a migração está correta, você pode utilizar o Prisma Studio, que é uma ferramenta que permite visualizar e editar os dados do banco de dados. Para iniciar o Prisma Studio, execute o seguinte comando:
```sh
npm run prisma
```
## Instalação do Prisma
Para melhor manutenção do banco de dados e de seus componentes, optou-se por utilizar o [**Prisma**](https://www.prisma.io/) como ORM (Object Relational Mapping) para o projeto. O Prisma é uma ferramenta que permite a criação de um banco de dados através de um schema, e a partir deste schema, o Prisma gera um cliente que pode ser utilizado para realizar as operações de CRUD no banco de dados. Para melhor manutenção do banco de dados e de seus componentes, optou-se por utilizar o [**Prisma**](https://www.prisma.io/) como ORM (Object Relational Mapping) para o projeto. O Prisma é uma ferramenta que permite a criação de um banco de dados através de um schema, e a partir deste schema, o Prisma gera um cliente que pode ser utilizado para realizar as operações de CRUD no banco de dados.
Para fazer a instalação inicial do prisma, é necessário rodar o seguinte comando no terminal do backend do projeto: Para fazer a instalação inicial do prisma, é necessário rodar o seguinte comando no terminal do backend do projeto (assumindo ambiente de desenvolvimento com Node.js):
``` ```
npm install @prisma/cli --save-dev npm install @prisma/cli --save-dev
...@@ -67,49 +99,16 @@ Por exemplo: ...@@ -67,49 +99,16 @@ Por exemplo:
mysql://root:senha@localhost:3306/globoaplausos mysql://root:senha@localhost:3306/globoaplausos
``` ```
Após definida a URL de conexão e montado o schema no arquivo schema.prisma, é necessário rodar o seguinte comando para que o Prisma crie as tabelas no banco de dados: Após definida a URL de conexão e montado o schema no arquivo schema.prisma, as tabelas estão prontas para serem criadas no banco de dados. Para criar também os usuários e outros componentes "padrão" da aplicação há um arquivo que contém os dados que serão inseridos no banco de dados. Este é normalmente nomeado `seed.ts`, e fica localizado na pasta `prisma/seed.ts`.
``` Ambas as funcionalidades acima podem ser executadas através do seguinte comando:
npx prisma migrate dev --name init
```
Para criar também os usuários e outros componentes "padrão" da aplicação há um arquivo que contém os dados que serão inseridos no banco de dados. O arquivo de seed do projeto é o `seed.ts`, que está localizado na pasta `prisma/seed.ts`, e pode ser executado através do comando:
``` ```
npx prisma db seed --preview-feature npx prisma migrate dev --name init
``` ```
Após a execução do comando, o Prisma irá inserir os dados no banco de dados, e o banco de dados estará pronto para ser utilizado. Após a execução do comando, o Prisma irá inserir os dados no banco de dados, e o banco de dados estará pronto para ser utilizado.
## Utilização do Prisma
### Arquivos e pastas no diretório prisma/
- `migrations`: Esta pasta contém as migrações do banco de dados. Saiba mais sobre elas na documentação: https://pris.ly/d/understanding-migrations
- `*/migration.sql`: Este arquivo contém as instruções SQL que são executadas quando você executa a migração.
- `migration_lock.toml`: Este arquivo contém o estado da migração. Não deve ser editado manualmente.
- `schema.prisma`: Este arquivo contém o seu schema. Saiba mais sobre ele na documentação: https://pris.ly/d/prisma-schema
- `seed.ts`: Este arquivo contém o script que preenche o banco de dados com dados. Você pode executá-lo executando `npm run prisma:update`
### Comandos úteis (definidos no *package.json*):
Depois de editar o arquivo schema.prisma, você precisa atualizar a biblioteca Prisma Client
```sh
npm run prisma:format
```
Se houveram mudanças no schema.prisma, você precisa gerar uma nova migração:
```sh
npm run prisma:update
```
Se você quiser conferir que a migração está correta, você pode utilizar o Prisma Studio, que é uma ferramenta que permite visualizar e editar os dados do banco de dados. Para iniciar o Prisma Studio, execute o seguinte comando:
```sh
npm run prisma
```
## Outros ## Outros
Para mais informações sobre configuração de ambiente e servidor de banco de dados, acesse a seção de [configuração](configuracao) da documentação. Para mais informações sobre configuração de ambiente e servidor de banco de dados, acesse a seção de [configuração](configuracao) da documentação.
Clone repository
  • Analytics
  • Arquitetura
  • Backend
  • Banco de Dados
  • Codigo
  • Configuracao
  • Design_Mockups
  • Escopo
  • Frontend
  • Processo
  • Qualidade
  • gerencia
  • Home