Pular para conteúdo

Exercícios: Aula 06 - Banco de Dados e Migrations 🗄️

🟢 Básico

  1. Migrations: Escreva o comando Artisan para criar uma nova migration que adicione uma tabela fornecedores.
  2. Rollback: O que acontece com os dados do seu banco se você executar o comando php artisan migrate:rollback?

🟡 Intermediário

  1. Alteração: Crie uma migration para adicionar uma coluna telefone (string) e ativo (boolean com padrão true) à tabela clientes já existente.
  2. Seeders: Explique a diferença prática entre usar um Seeder e uma Factory. Em qual situação você usaria cada um?

🔴 Desafio

5. Relacionamentos Físicos: Crie uma migration para uma tabela itens_pedido que contenha uma chave estrangeira (foreignId) apontando para a tabela pedidos. Garanta que, se o pedido for deletado, os itens também sejam excluídos automaticamente (onDelete('cascade')).

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Migrations **Resolução e Implementação:**
// Estrutura de implementação recomendada para Migrations
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Banco de Dados e Migrations ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Rollback **Resolução e Implementação:**
// Estrutura de implementação recomendada para Rollback
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Banco de Dados e Migrations ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Alteração **Resolução e Implementação:**
// Estrutura de implementação recomendada para Alteração
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Banco de Dados e Migrations ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Seeders **Resposta Comentada:** - **Fundamentação:** No contexto de **Banco de Dados e Migrations ️**, o conceito abordado (Seeders) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Relacionamentos Físicos **Resolução e Implementação:**
// Estrutura de implementação recomendada para Relacionamentos Físicos
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Banco de Dados e Migrations ️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.