Let sagen, dass ich diesen Rake Aufgabe haben:mit Rake Execute Systembefehl außerhalb Bundle Umfang
namespace :db do
namespace :dump do.
desc 'Backup database dump to s3'
task :backup => :environment do
cmd = ['backup', 'perform', '-t project_backup', "-C#{Rails.root.join 'lib', 'backup', 'config.rb'}"]
system(*cmd) # ...I've tried `` & exec() sa well, same thing
end
end
end
Backup-Juwel ist allein ruby gem Anwendung stehen die Bedürfnisse Abhängigkeiten von der Anwendung bundler isoliert werden. Mit anderen Worten, es kann nicht Teil von Gemfile
sein. Dieses Juwel ist einfach installiert über gem install backup
Wenn ich backup
Befehl über bash-Konsole ausführen, es erfolgreich ausgeführt:
$ backup perform -t validations_backup -c /home/equivalent/my_project/lib/backup/config.rb
Als ich rake db:dump:backup
ausführen ich
backup is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
bekommen ... das ist die gleiche Sache, wenn ich Backup-Befehl mit bundle exec
von Bash
$ bundle exec backup perform -t validations_backup -c /home/equivalent/my_project/lib/backup/config.rb
ausführen
... bedeutet, dass der Befehl backup
über Bundler ausgeführt wird, wenn er als Teil der Rake-Task ausgeführt wird.
meine Frage: Wie kann ich rake db:dump:backup
outsite das Bündel Umfang laufen, was bedeutet, dass backup
Befehl über Bündler ausgeführt werden gewannen `t?
Danke
... BTW funktioniert auch erfolgreich als Remote Capistrano Aufgabe – equivalent8
Haben Sie es gelöst? Ich habe das gleiche Problem ... – Lichtamberg
nein, nicht von Rake Ich benutze immer noch Capistrano, um dies zu tun. Antwort schreiben mit Capistrano Beispiel – equivalent8