A rake serve para quando temos uma alteração, migração que temos que fazer diretamente no banco de dados.
Esta aula irá nos ensinar a criar uma rake.
Mostrar todas as rakes do sistema:
bundle exec rake -T
Na lista que o comando acima retorna, veremos, por exemplo o 'rake db:seed' que serve para que possamos popular nosso banco de dados adicionando objetos no arrivo db/seeds.rb:
Produto2.new(nome: 'Cadeira Gamer', descricao: 'Cadeira muito conformável e linda').save
Para rodar o seed:
bundle exec rake db:seed
Verificar o registro:
rails c
Produto2.last
Como criar uma rake:
Digamos que queremos apagar dados do banco. Podemos apagar pelo console do rails mas se for uma atividade recorrente se torna muito trabalhoso utilizar o console. Uma rake pode ser criada para deixar esta tarefa automatizada:
rails g task apagar_dados tabela_produto2 tabela_produto1
Neste caso o nome da rake será 'apagar_dados' e os subnomes 'tabela_produto2' e 'tabela_produto1" que serão gerados na pasta lib/tasks.
Lá no arquivo criado podemos adicionar o código que desejamos. Exemplo:
namespace :apagar_dados do
desc "Apagar produto com id = 9"
task tabela_produto2: :environment do
Produto2.find(9).destroy
puts '############# Apagado produto de id 9 #############'
end
desc "Apagar o ultimo produto da tabela"
task tabela_produto1: :environment do
Produto2.last.destroy
puts '############# Apagado ultimo produto adicionado #############'
end
end
Verificando nosso rake criado:
Lembranco que este comando deve ser executado dentro do nosso projeto.
Aula 34
A rake serve para quando temos uma alteração, migração que temos que fazer diretamente no banco de dados.
Esta aula irá nos ensinar a criar uma rake.
Mostrar todas as rakes do sistema:
Na lista que o comando acima retorna, veremos, por exemplo o 'rake db:seed' que serve para que possamos popular nosso banco de dados adicionando objetos no arrivo db/seeds.rb:
Para rodar o seed:
Verificar o registro:
Como criar uma rake: Digamos que queremos apagar dados do banco. Podemos apagar pelo console do rails mas se for uma atividade recorrente se torna muito trabalhoso utilizar o console. Uma rake pode ser criada para deixar esta tarefa automatizada:
Neste caso o nome da rake será 'apagar_dados' e os subnomes 'tabela_produto2' e 'tabela_produto1" que serão gerados na pasta lib/tasks.
Lá no arquivo criado podemos adicionar o código que desejamos. Exemplo:
Verificando nosso rake criado: Lembranco que este comando deve ser executado dentro do nosso projeto.
Buscando por parte do nome:
Rodando nossa rake:
Desta forma estes comando ficam eternizados na nossa aplicação para facilitar nosso trabalho.
Caso queiramos que estes comandos sejam executados em nosso ambiente de produção:
Exemplo de como rodar uma rake diretamente no heroku:
Utilizando uma rake personalidada que utiliza uma api dos correios para buscar um cep: https://youtu.be/6vElgNZBHaI?t=1614