... | ... | @@ -29,11 +29,25 @@ TBD |
|
|
|
|
|
## Implementação
|
|
|
|
|
|
TBD
|
|
|
|
|
|
### Knex
|
|
|
|
|
|
TBD
|
|
|
Para a interação com o banco de dados, optou-se por utilizar o Knex como query builder, de forma a tornar o código menos dependente de um banco de dados específico e a facilitar as consultas e alterações no esquema do banco de dados.
|
|
|
|
|
|
#### Migrations com Knex
|
|
|
No projeto são utilizadas migrations para auxiliar no versionamento das alterações no esquema do banco de dados que são feitas. Para cada uma dessas alterações (ex.: criação de nova tabela), deve ser criado um arquivo de migration a partir do comando abaixo:
|
|
|
```sh
|
|
|
npx knex migrate:make nome_da_migration -x ts
|
|
|
```
|
|
|
Neste arquivo, estarão criados por padrão dois métodos vazios: up e down. O método up é executado para aplicar esta atualização no esquema do banco, enquanto o método down é executado para desfazer esta atualização, retornando para uma versão anterior do esquema. Assim, seguindo o exemplo da nova tabela, no método up deve ser construída uma sentença para criar esta tabela, enquanto o método down seria utilizado para remover esta tabela.
|
|
|
|
|
|
Para atualizar o banco de dados a partir das migrations, execute o comando abaixo.
|
|
|
```sh
|
|
|
npx knex migrate:latest
|
|
|
```
|
|
|
|
|
|
#### Materiais para estudos sobre Knex
|
|
|
- http://knexjs.org/
|
|
|
- https://devhints.io/knex
|
|
|
|
|
|
### Schemas
|
|
|
|
... | ... | |