Ambientes: dev vs test
O curso explica o que o Rails chama de ambiente: um de três modos nomeados (development, test e production), guardado em Rails.env e definido pela variável RAILS_ENV. Essa ideia fica separada da configuração do computador, com editor, versão do Ruby e PostgreSQL. As aulas leem development.rb, test.rb e production.rb linha a linha, passando por recarga de código, eager load, páginas de erro, HTTPS e hosts permitidos. Também mostram como o database.yml leva cada ambiente aos próprios bancos e como -e test e --sandbox se combinam no console.
O que você vai aprender
- ✓Como o Rails.env e a variável RAILS_ENV escolhem um de três modos
- ✓As diferenças linha a linha entre development.rb e test.rb
- ✓O que o production.rb muda: eager load, páginas de erro, HTTPS e hosts permitidos
- ✓Como o database.yml dá a cada ambiente seus próprios bancos e conexões
- ✓Trocar de ambiente com RAILS_ENV ou bin/rails console -e test
- ✓Como -e e --sandbox tratam de questões diferentes numa sessão de console
Dois tipos de ambiente
A aula de config do curso Rails CLI: rails new citou três arquivos de passagem: "config/environments/development.rb, test.rb e production.rb sobrescrevem o application.rb, cada um para um ambiente." E acrescentou: "Ambientes: dev vs test trata disso depois." Este é esse curso.
Ler a aula completa grátis →Currículo
7 aulasDois tipos de ambiente
Separa a configuração de um computador do ambiente do Rails, um de três modos guardados em Rails.env.
Rails.env: três modos nomeados, uma variável
Mostra o Rails.env como um EnvironmentInquirer, como o RAILS_ENV o define e os três modos com seus arquivos.
development.rb vs test.rb, linha por linha
Compara development.rb e test.rb em recarga de código, eager load e destino de jobs, uploads e e-mails.
production.rb: o que muda para usuários reais
Trata do production.rb: eager load no boot, páginas de erro sem detalhes internos, HTTPS forçado e hosts permitidos.
database.yml: bancos separados por ambiente
Lê o database.yml, em que padrões compartilhados e quatro conexões por ambiente levam cada modo a bancos separados.
Trocando de ambiente
Troca de ambiente com RAILS_ENV ou console -e test e mostra como o -e difere do --sandbox.
Juntando tudo: um Rails.env, todo arquivo
Segue um único valor de Rails.env por todos os arquivos de config e blocos de banco do curso.