Database Seed - MarketPlace - #1

marciopolicarpo

Marcio Policarpo

Posted on September 29, 2022

Database Seed - MarketPlace - #1

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.

😁

Image description

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.
😊

💖 💪 🙅 🚩
marciopolicarpo
Marcio Policarpo

Posted on September 29, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related