O Guia de comandos do Rails

Os comandos do Rails

Existem muitos comandos do Rails (que são rodados no console) que podem acelerar o desenvolvimento do seu projeto e diminuir o retrabalho. Preparamos uma lista com todos os comandos (e argumentos para esses comandos) que consideramos relevantes, na prática, e que podem tornar sua vida mais fácil.

 

Note que nós sempre usamos o comando Rails nesse guia ao invés de rake, porque estamos seguindo o padrão do Rails 5, porém se você estiver usando uma versão mais antiga do Rails e tiver problemas na hora de rodar tarefas como rails db:seed, tente usar rake db:seed :).

Índice do Guia

  1. Rodando o Servidor
  2. Rodando o Console
  3. Acessando o Console do Banco de Dados
  4. Rodando códigos Ruby com o Contexto do Rails
  5. Informações rápidas sobre a aplicação
  6. Alguns números sobre a nossa aplicação
  7. Manipulando o banco de dados
  8. Rails Generate
  9. Rails Destroy

 

Rodando o Servidor

Rodar o servidor de desenvolvimento do Rails talvez seja o comando mais básico que exista, mas existem alguns argumentos opcionais que desenvolvedores iniciantes não conheçam. Portanto vamos lá:

Subindo o servidor de desenvolvimento do Rails no localhost:3000

Subindo usando outro servidor  no localhost:3000

Argumentos: webrick (ou outro servidor), caso você esteja usando outro servidor que não seja o padrão.

Subindo  o servidor de desenvolvimento do Rails na porta 4000 no localhost

Argumento: -p seguido do numero da porta que você deseja (4000, 8080 etc)

Subindo  o servidor de desenvolvimento utilizando as configurações de production no localhost:3000

Argumento: -e seguido do nome do ambiente que você deseja (production, development, staging e etc)

Subindo  o servidor de desenvolvimento como Daemon (vai rodar independente de você estar com o console aberto) no localhost:3000

Argumento: -d

Sobe o servidor de desenvolvimento do Rails “no IP 127.0.0.5” na porta 3000

Argumento: -b seguido do IP desejado (127.0.0.5 e etc)

 

Rodando o Console

 

Rodar o console do Rails pode ajudar a depurar nosso sistema, vamos conhecer algumas possibilidades:

Rodando o console

Rodando o console no ambiente de production

Argumentos: production (ou outro ambiente desejado) diz para o Rails console que você deseja usar as configurações do ambiente escolhido

Rodando o console no Sandbox (Não altera os dados do db ao final do processo)

Argumentos: –sandbox é ideal para você realizar seus testes sem afetar os dados da sua aplicação. Ao final da utilização do rails console, ele dará rollback nas mudanças que você fez no banco de dados.

Acessando o Console do Banco de Dados

Este é um comando pouco conhecido que lhe permite acessar o console do seu próprio banco de dados. Quando você roda esse comando, o rails verifica qual é o seu banco de dados e usa seus dados de acesso (config/database.yml) para te logar no console do seu banco de dados.

Acessando o Banco de dados

Rodando códigos Ruby com o contexto do Rails

O rails runner permite que você rode métodos de models, arquivos da lib etc, diretamente do console e usando o contexto do seu Projeto. Isso pode ser útil em algumas circunstâncias, como rodar uma rotina que sincronize sua aplicação com uma base de dados externa em caso de falha dos seus workers ou algo assim. (Use com sabedoria)

Rodando um método de um Model

Augumentos: “User.sync” (Ou qualquer outro método de um model) é o alvo do runner que será executado.

Rodando um  arquivo da Lib em Production

Argumentos:

  • “lib/sync_users.rb” (Ou qualquer outro path para um arquivo ruby) é o alvo do runner que será executado.
  • -e (ou outro nome de ambiente) diz qual ambiente usar (production, stagging, development etc).

Informações rápidas sobre a aplicação

Um dos comandos que descobrimos enquanto fazíamos a pesquisa para este artigo é o rails about, ele pode ser uma “mão na roda” quando você entra em um novo projeto e precisa se contextualizar sobre algumas informações básicas como a versão do Rails, Database utilizado, Middleware etc.

Pegando as informações do App no ambiente de development:

Um exemplo de retorno do comando:

Pegando as informações do App em Production

Obs: Você pode mudar production para qualquer ambiente que deseje.

Alguns números sobre a sua Aplicação

O rails stats devolve alguns números interessantes sobre o seu App, como a quantidade de classes de models que você possui, o número de classes de Controller e também os números de classes de teste que você possui. Isso dá uma visão do tamanho que seu App possui entre outros  insights.

Pegando os números:

Um exemplo de resultado para uma aplicação pequena:

captura-de-tela-de-2016-09-24-15-08-54

 

Manipulando o Banco de Dados

Criar o banco de dados, rodar as migrations etc, são passos comuns no dia a dia do desenvolvimento com o Rails, mas existem alguns argumentos um pouco menos conhecidos.

Criando o banco de dados:

Deletando o banco de dados:

Resetando o banco de dados:

Realiza o drop (apaga os dados) e em seguida o create (volta zerado).

Rodando as migrations (alterando o banco de dados):

Desfazendo a última migration:

Desfazendo as últimas 3 migrations:

Argumentos: STEP, esse argumento lhe permite voltar quantas migrations desejar.

Refazendo as últimas 3 migrations:

Se você se arrependeu do rollback, você pode refazer as últimas x migrations.

Argumentos: STEP, esse argumento lhe permite refazer quantas migrations desejar.

Populando o banco de dados:

O seed é um arquivo que fica em “/db/seeds.rb” que você pode rodar para popular seu banco de dados com algumas informações pré definidas. Isso é útil para você configurar rapidamente seu ambiente de desenvolvimento com usuários padrões etc.

Pegando a versão atual do banco de dados:

Rodando a migrations em production:

Argumentos: production (Ou outro ambiente que deseje)

Rails Generate

O rails generate talvez seja a parte mais importante para acelerar o desenvolvimento do seu App, porque com ele você consegue gerar Controllers, Models, Migrations etc em um único comando. Vamos descobrir as possibilidades:

Gerando um Controller User com um método create:

Argumentos:

  • User (ou outro nome que você deseje) é o nome do controller que vai ser gerado.
  • create (ou outro nome que você deseje) é o nome do método que você deseja.

Arquivos gerados:
captura-de-tela-de-2016-09-24-16-12-12

Gerando um Model (e migration) Car com os campos type(string) e description(texto):

Argumentos:

  • Carro (ou outro nome que você deseje) é o nome do model que vai ser gerado.
  • type:string, campo type que vai ser criado no banco de dados do tipo string.
  • description:text campo description que vai ser criado no banco de dados do tipo Texto.

Arquivos gerados:

captura-de-tela-de-2016-09-24-16-20-48

Gerando um Mailer User:

Argumentos:

  • UserMailer (ou outro nome que você deseje) é nome do mailer que será gerado.

Arquivos gerados:

captura-de-tela-de-2016-09-24-16-54-19

Gerando um Scaffold Travel com os campos date(string) e title(string):

O Scaffold gera um CRUD básico para sua aplicação com views, controllers, routes, migrations etc.
Pode ser uma maneira interessante de criar rapidamente uma estrutura para seu App.

Argumentos:

  • Travel (ou outro nome que você deseje) é o nome que será usado nos arquivos gerados.
  • date:datetime, campo do tipo datetime que será usado nas migrations, views etc.
  • title:string, campo do tipo string que será usado nas migrations, views etc.

Arquivos gerados:

captura-de-tela-de-2016-09-24-16-28-00

 

 

*OBS: Caso queira evitar que o Scaffold gere as migrations, você poderá usar o arqumento –skip-migration

Rails Destroy

O rails destroy o ajuda a remover os arquivos criados através do rails generate, isso é bem útil quando você utiliza um nome incorreto na hora de gerar seus arquivos etc.

Destruindo o Controller User

Argumentos:

  • User (ou outro nome que você deseje) é o nome do controller que será destruído.

Resultado no console:
captura-de-tela-de-2016-09-24-17-02-33

Destruindo o Model Car

Argumentos:

  • Car (ou outro nome que você deseje) é o nome do model que será destruído.

Resultado no console:

captura-de-tela-de-2016-09-24-17-04-15

Destruindo o Mailer User

Argumentos:

  • UserMailer (ou outro nome que você deseje) é o nome do mailer que será destruído.

Resultado no console:

captura-de-tela-de-2016-09-24-17-07-41

Destruindo o Scaffold Travel

Argumentos:

  • Travel (ou outro nome que você deseje) é o nome do scaffold que será destruído.

Resultado no console:

captura-de-tela-de-2016-09-24-17-05-56


12 formas de vencer o bloqueio criativo e escrever textos memoráveis (e 6 dicas extras)

Não perca nenhum conteúdo

Receba nosso resumo semanal com os novos posts, cursos, talks e vagas \o/



Conclusão e mais comandos

Esse guia poderá ajudá-lo a descobrir e se lembrar de alguns comandos na hora de desenvolver uma nova aplicação, principalmente se você está começando no mundo do Rails.

Você pode descobrir mais alguns comandos e alguns argumentos direto na documentação do rails clicando aqui ou rodando no console:

Screencast

Essa semana criamos o primeiro Screencast do Blog sobre autenticação com devise + omniauth, dê uma olhada no Screencast no Youtube e nos dê um feedback se possível (Veja o Screencast cliando aqui).
Em breve teremos muitos outros Screencasts no canal, então inscreva-se clicando aqui :).

 

Com dúvidas ou precisando de ajuda?

Comente aí em baixo ou curta nossa página no facebook clicando aqui e mande suas dúvidas que faremos o possível para ajudá-lo 🙂

Agradecimento

Obrigado novamente pelos feedbacks que temos recebido sobre o Blog, eles estão sendo muito importantes para a continuidade desse projeto.

Um grande abraço,

Equipe OneBitCode.


Você é novo por aqui?

Primeira vez no OneBitCode? Curtiu esse conteúdo? O OneBitCode tem muito mais para você!

O OneBitCode traz conteúdos de qualidade e em português sobre programação com foco em Ruby on Rails e outras tecnologias como Angular, Ionic, React, desenvolvimento de Chatbots e etc.

Se você deseja aprender mais, de uma forma natural e dentro de uma comunidade ativa, visite nosso Facebook e nosso Twitter, veja os screencasts e talks no Youtube, alguns acontecimentos no Instagram, ouça os Podcasts e faça parte de nossa Newsletter.

Além disso, também estamos com alguns e-Books muito interessantes para quem deseja se aprimorar como programador e também como freelancer (os e-Books são gratuitos!):

Espero que curta nossos conteúdos e sempre que precisar de ajuda com os tutoriais, fala com a gente! Seja por Facebook ou e-mail, estamos aqui para você 🙂

Bem-vindo à família OneBitCode \o/

julho 20, 2018
Feito com s2 por OneBitCode
%d blogueiros gostam disto: