Я использую Sinatra, и я хотел настроить некоторые из удобных задач rake, которые есть в Rails, в частности ] rake db: seed
.
Мой первый проход был следующим:
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
- жемчужина, имитирующая консоль Rails. Поэтому я просто вводил код из исходного файла прямо в него. Это работает, но явно не идеально. Что я' Я бы хотел создать задачу среды, которая позволяет запускать команды в приложении / среде Sinanta, например:
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
Но я не могу понять, как настроить среду, чтобы задачи с граблями могли выполняться под Это. Любая помощь будет принята с благодарностью.