Sto usando Sinatra e volevo impostare alcune delle funzioni di rake di convenienza di Rails, in particolare rake db:seed
.Come posso far funzionare le attività di Rake sotto la mia app/ambiente Sinantra?
mio primo passaggio è stato questo:
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
è una gemma che imita console Rails. Quindi stavo semplicemente inserendo il codice nel file seme direttamente in esso. Funziona, ma ovviamente non è l'ideale. Quello che mi piacerebbe fare è creare un'attività di ambiente che permette i comandi da eseguire sotto la Sinanta app/ambiente, in questo modo:
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
Ma quello che non riesco a capire è come impostare l'ambiente quindi i compiti del rake possono essere eseguiti sotto di esso. Qualsiasi aiuto sarebbe molto apprezzato.