Estoy usando Sinatra, y quería configurar algunas de las tareas de rake convenientes que tiene Rails, específicamente rake db:seed
.¿Cómo hago que las tareas de Rake se ejecuten en mi aplicación/entorno Sinantra?
Mi primer paso fue la siguiente:
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
es una joya que imita la consola de Rails. Así que solo estaba alimentando el código en el archivo semilla directamente en él. Funciona, pero obviamente no es ideal. Lo que me gustaría hacer es crear una tarea de entorno que permite a los comandos que se ejecutan bajo el Sinanta aplicación/medio ambiente, así:
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
Pero lo que no puedo entender es cómo configurar el entorno para que las tareas de rake puedan ejecutarse debajo de él. Cualquier ayuda sería muy apreciada.