Upgrades Rails sem downtime
O curso trata a atualização do Rails como uma série de deploys, cada um com uma única causa. Ele separa as quebras em quatro tipos: carregamento, testes, execução e dados. Mostra por que a quebra de dados sobrevive ao rollback. Aborda a leitura do guia de atualização como uma lista de greps, o envio de avisos de descontinuação para um contador limitado e a inversão de padrões do framework um de cada vez. Também trata do dual boot com dois lockfiles num branch e do formato expandir e contrair na janela de duas versões.
O que você vai aprender
- ✓Os quatro tipos de quebra numa atualização e por que a de dados sobrevive ao rollback
- ✓Como transformar remoções do guia em greps e mudanças de comportamento em testes
- ✓A configuração das descontinuações, com :notify e um contador ou :raise em teste
- ✓A inversão de padrões um de cada vez com load_defaults e o arquivo gerado
- ✓Dual boot com dois lockfiles e um segundo job de integração contínua
- ✓O formato expandir e contrair, a ordem de ler primeiro e o lock_timeout em migrations
O que uma atualização do Rails realmente quebra
Uma atualização são quatro riscos diferentes vestindo o mesmo número de versão. Eles falham em momentos diferentes, em lugares diferentes, com raios de impacto diferentes, e tratá-los como uma coisa só é o motivo de as atualizações parecerem imprevisíveis.
Ler a aula completa grátis →Currículo
7 aulasO que uma atualização do Rails realmente quebra
Separa as quebras em carregamento, testes, execução e dados, e mostra por que a de dados sobrevive ao rollback.
Lendo as notas de release como um plano de trabalho
Transforma o guia de atualização em greps para nomes removidos e testes para comportamentos alterados, versão por versão.
O sinal de deprecação
Mostra para onde vão os avisos de descontinuação em cada ambiente e como o :notify alimenta um contador limitado.
Virando padrões um de cada vez
Explica como o load_defaults separa o comportamento novo da versão da gem e como inverter cada padrão gerado.
Dual-boot: dois Gemfiles, um branch
Roda a próxima versão do Rails no mesmo branch com dois lockfiles, um segundo job e desvios temporários.
A janela de duas versões
Trata da sobreposição num deploy gradual, da sequência expandir e contrair no schema e do lock_timeout em migrations.
Atualizações do Rails sem indisponibilidade: juntando tudo
Conta quantos deploys cada mudança exige, explica a ordem de ler primeiro e agrupa passos independentes no mesmo deploy.