मेरे पास यह छोटा रेक कार्य है:मैं एक रेक कार्य में RAILS_ENV को कैसे मजबूर करूं?
namespace :db do
namespace :test do
task :reset do
ENV['RAILS_ENV'] = "test"
Rake::Task['db:drop'].invoke
Rake::Task['db:create'].invoke
Rake::Task['db:migrate'].invoke
end
end
end
अब, जब मैं निष्पादित करता हूं, तो यह RAILS_ENV को अनदेखा कर देगा, मैंने हार्ड-कोड की कोशिश की। मैं इस कार्य को अपेक्षित
के रूप में कैसे काम करूं?
हाँ यह RAILS_ENV –
के साथ घूमने से थोड़ा कम हैकी दिखता है मेरे लिए अतिरिक्त रेक प्रक्रियाओं का आह्वान करने के लिए * अधिक * हैकी दिखता है। –
पर्यावरण के साथ विनाशकारी तरीके से अपने कार्य गड़बड़ होने से बेहतर है। यदि आप इसे इस तरह करते हैं तो आप कुल आपदा के बिना किसी अन्य कार्य में निर्भरता के रूप में इसका उपयोग कर सकते हैं। परीक्षण मोड में एक रेक कार्य चलाने के लिए चाहते हैं? कार्य मोड में कार्य चलाएं। फर्जी टेस्ट मोड की कोशिश कर रहे हैं, और संभवतः वे बाद में जो कुछ भी मोड में हैं, उसे स्केची है। –