This content originally appeared on DEV Community 👩💻👨💻 and was authored by Marcio Policarpo
Um pouco diferente do que estamos habituados, neste artigo vou mostrar como criar dados de forma relacional como acontece no mundo real.
Introdução
A ideia é montar uma espécie de marketplace, com clientes, lojas e produtos, onde um cliente conectado à plataforma tem a possibilidade de comprar qualquer produto em qualquer uma das lojas disponíveis.
Como este projeto é voltado totalmente para o back-end não desenvolvi nenhuma página web para visualização e interação com usuário. Tomei esta decisão para evitar que o projeto ficasse grande sem contar que acabaria fugindo do objetivo do artigo.
Por essa razão, busquei criar um cenário que fosse o mais fiel possível ao ambiente real, com vários usuários comprando vários produtos de diversos vendedores.
Esse pensamento deu origem ao diagrama mostrado a seguir, onde é possível ver como as entidades se relacionam entre si.
😁
O projeto em si é pequeno mas devido à complexidade na preparação do ambiente optei por dividí-lo em 5 partes sendo esta a primeira, onde faço uma introdução.
Na segunda parte vamos nos concentrar nas migrações, explicando alguns conceitos básicos e detalhando o relacionamento entre as tabelas.
Já a terceira parte será destinada a criação dos modelos objeto-relacional.
Esta parte é a mais importante porque a forma como implementaremos as classes terá impacto direto nas consultas que serão criadas.
Em seguida, na parte 4 deste artigo veremos como implementar e fazer uso das classes factory.
Ainda nesta parte mostro como criar dados aleatórios relacionando as informações de forma consistente.
E por fim, criaremos algumas rotas com o intuito de consultar as informações geradas no banco de dados.
Nos vemos em breve.
😊
This content originally appeared on DEV Community 👩💻👨💻 and was authored by Marcio Policarpo

Marcio Policarpo | Sciencx (2022-09-29T20:20:30+00:00) Database Seed – MarketPlace – #1. Retrieved from https://www.scien.cx/2022/09/29/database-seed-marketplace-1/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.