Como faço para executar tarefas Rake no meu aplicativo / ambiente Sinantra?
Estou usando o Sinatra e queria configurar algumas das tarefas de conveniência que o Rails tem, especificamenterake db:seed
.
Minha primeira passagem foi esta:
namespace :db do
desc 'Load the seed data from db/seeds.rb'
task :seed do
seed_file = File.join(File.dirname(__FILE__), 'db', 'seeds.rb')
system("racksh < #{seed_file}")
end
end
racksh
é uma jóia que imita o console do Rails. Então, eu estava apenas alimentando o código no arquivo de sementes diretamente nele. Funciona, mas obviamente não é o ideal. O que eu gostaria de fazer é criar uma tarefa de ambiente que permita que os comandos sejam executados no aplicativo / ambiente Sinanta, da seguinte maneira:
task :environment do
# what goes here?
end
task :seed => :environment do
seed_file = File.join(File.dirname(__FILE__), 'db', 'seeds.rb')
load(seed_file) if File.exist?(seed_file)
end
Mas o que não consigo descobrir é como configurar o ambiente para que as tarefas de rake possam ser executadas sob ele. Qualquer ajuda seria muito apreciada.