Trilha Pleno Trilha

Query objects: materializados

O curso trata de query objects e de materialized views do PostgreSQL numa aplicação Rails. Começa tirando a lógica de consulta de models gordos e levando-a para classes Ruby simples, com self.call e um Result feito com Data.define. Depois explica materialized views como resultados pré-calculados guardados em disco, como criá-las com SQL cru ou com a gem scenic e como lê-las por models só de leitura. As últimas lições cobrem estratégias de atualização, locks, monitoramento de atraso, testes e uma lista de conferência para produção.

O que você vai aprender

  • ✓Como tirar a lógica de consulta de models gordos e levá-la para query objects
  • ✓O contrato de self.call e Result com Data.define para consultas só de leitura
  • ✓Quando uma materialized view serve e quando uma consulta direta basta
  • ✓Como criar materialized views com migrations em SQL cru ou com a gem scenic
  • ✓Atualização simples e concorrente, agendamento com Solid Queue e espaçamento
  • ✓Testes de query objects, do SQL das views e dos jobs, e monitoramento em produção
Prévia grátis · Aula 1 8 min de leitura

O que são query objects?

Você abre app/models/user.rb numa segunda-feira de manhã. Ele tem 847 linhas, com 34 scopes, 12 métodos de classe que montam consultas e um método self.dashboard_stats de 60 linhas de SQL cru costurado com interpolação de strings. Três pessoas deixaram # TODO: refactor this, e ninguém refatorou.

Ler a aula completa grátis →

Currículo

7 aulas
Digite para buscar...