Wie kann ich Rake-Aufgaben unter meiner Sinantra-App / -Umgebung ausführen lassen?

Ich verwende Sinatra und wollte einige der praktischen Rake-Aufgaben einrichten, die Rails hat, insbesondererake db:seed.

Mein erster Durchgang war dieser:

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 ist ein Juwel, das die Rails-Konsole imitiert. Also habe ich nur den Code in der Seed-Datei direkt eingegeben. Es funktioniert, aber es ist offensichtlich nicht ideal. Ich möchte eine Umgebungstask erstellen, mit der Befehle unter der Sinanta-App / -Umgebung ausgeführt werden können. Beispiel:

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

Aber ich kann nicht herausfinden, wie die Umgebung eingerichtet wird, damit die Rake-Tasks unter ihr ausgeführt werden können. Jede Hilfe wäre sehr dankbar.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage