Używam skryptu powłoki, aby uruchomić niektóre skrypty runner w mojej aplikacji Ruby on Rails. I trzeba uruchomić go na bazie produkcyjnej, ale następujący:Ruby on Rails: Jak mogę określić środowisko skryptu runner
#!/bin/bash
/usr/bin/ruby RAILS_ENV=production ../script/runner ../lib/tasks.rb
daje błąd:
/usr/bin/ruby: No such file or directory -- RAILS_ENV=production (LoadError)
Próbowałem zmusić go w config/environment.rb
ENV['RAILS_ENV'] ||= 'production'
lub nawet
ENV['RAILS_ENV'] = 'production'
, ale nawet z tym nadal działa w środowisku programistycznym.
Aktualizacja: Mogę zmusić skrypty do połączenia z odpowiednią bazą danych poprzez edycję pliku config/database.yml, ale zastanawiam się, jaki jest właściwy sposób.
Czytałaś moją odpowiedź? Poprawnie wybierze środowisko, jeśli parametry zostaną przekazane w inny sposób. – Garrett
Będzie działać, ale nie ustawi poprawnie środowiska. – Goro
Coś jest nie tak z twoim skryptem, a nie z poleceniem. – Garrett