আমি কীভাবে একটি রেল পরিবেশে একটি রুবি ফাইল চালাব?


106

আমি একটি রেল পরিবেশের প্রসঙ্গে একটি রুবি ফাইল চালাতে চাই। রেল রানার প্রায় আমি যা করতে চাই তা করি তবে আমি কেবল ফাইলটির নাম এবং যুক্তি দিতে চাই। আমি নিশ্চিত যে এটি সম্ভব হওয়ার আগেই এটি সম্পন্ন করেছি। কেউ আমাকে কীভাবে এটি করতে পারে তা মনে করিয়ে দিতে পারে?

উত্তর:



36

কেবল environment.rbআপনার স্ক্রিপ্টে প্রয়োজন। যদি আপনার স্ক্রিপ্টটি scriptআপনার রেল অ্যাপ্লিকেশনটির ডিরেক্টরিতে অবস্থিত

require File.expand_path('../../config/environment', __FILE__)

RAILS_ENVস্ক্রিপ্টটি চালনার সময় আপনি পরিবেশের পরিবর্তনশীল সেট করে আপনি ব্যবহৃত পরিবেশকে (উন্নয়ন / পরীক্ষা / উত্পাদন) নিয়ন্ত্রণ করতে পারেন ।

RAILS_ENV=production ruby script/test.rb

যদি আমি কোডের উপরে চলে যাই তবে এটি "হোম / অ্যাপস / কনফিগারেশন / পরিবেশ" দেবে। যদি আমার একই ডিরেক্টরিতে 2 টি রেল অ্যাপ চলছে What কোন পরিবেশ লাগবে? আমি আমার স্থানীয় বাক্সে এই সমস্যার মুখোমুখি হচ্ছি। দয়া করে পরামর্শ দিন
বিজয় সালি

@ বিজয়সালী আমি ধরে নিয়েছি যে আপনি app/scriptডিরেক্টরি থেকে আপনার স্ক্রিপ্টটি চালাচ্ছেন । পরিবেশ ফাইলটি পৃথক অ্যাপ থেকে নেওয়া হবে।
ইল্টেম্পো

হ্যাঁ ধন্যবাদ এটি আমার পক্ষে কাজ করেছিল, আমি ENV ['RAILS_ENV'] পাশাপাশি যুক্ত করেছি
বিজয় সালি

26

রানারটি ইন্টার-ইন্টারেক্টিভভাবে রেলগুলির প্রসঙ্গে রুবি কোড চালায়।

rails runnerআদেশ থেকে :

Usage: runner [options] ('Some.ruby(code)' or a filename)

    -e, --environment=name           Specifies the environment for the runner to operate under (test/development/production).
                                     Default: development

    -h, --help                       Show this help message.

আপনি নিজের স্ক্রিপ্টগুলির জন্য রানারকে শেবাং লাইন হিসাবে ব্যবহার করতে পারেন:

-------------------------------------------------------------
#!/usr/bin/env /Users/me/rails_project/script/rails runner

Product.all.each { |p| p.price *= 2 ; p.save! }
-------------------------------------------------------------

1
আমি যখন কেবলমাত্র "রেল" নয় বরং "/ ব্যবহারকারী / আমার / রেল_প্রজেক্ট / স্ক্রিপ্ট / রেলগুলি" নির্দিষ্ট করে থাকি তবে কেন এটি কাজ করে? টিআইএ
iphone007

আপনার অন্যান্য রেল কমান্ডগুলিরও কি পুরো পথের তালিকা তৈরি করা দরকার? (অর্থাত্ রেল সার্ভার)
25:48

@ আইফোন 7007 আপনি কোথায় থেকে স্ক্রিপ্টটি চালাচ্ছেন তার উপর নির্ভর করতে পারে।
ডেভিড মোলস

7

এটি একটি পুরানো প্রশ্ন, তবে আমার মতে আমি প্রায়শই একটি রেক টাস্ক তৈরি করা সহায়ক বলে মনে করি ... এবং এটি আসলে খুব সহজ।

ইন lib/tasks/example.rake:

namespace :example do

desc "Sample description you'd see if you ran: 'rake --tasks' in the terminal"
task create_user: :environment do
  User.create! first_name: "Foo", last_name: "Bar"
end

এবং তারপরে টার্মিনাল রান করুন:

rake example:create_user

স্থানীয়ভাবে এটি আপনার বিকাশের ডাটাবেসের প্রসঙ্গে চালানো হবে এবং হেরোকুতে চালানো হলে এটি আপনার প্রোডাকশন ডাটাবেসের সাথে সংযুক্ত থাকাকালীন চালানো হবে। স্থানান্তরণ বা সংশোধিত টেবিলগুলিতে সহায়তা করার জন্য আমি এটি বিশেষভাবে দরকারী বলে মনে করি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.