2011-01-22 9 views
12

मैं फैक्टरी गर्ल का उपयोग अपने बीज डेटा को पॉप्युलेट करने और बीज.आरबी में डीबी में जोड़ने के लिए कर रहा हूं।रेक बीबी: बीज का उपयोग करके मैं अपने टेस्ट डेटाबेस में अपना बीज डेटा कैसे जोड़ सकता हूं?

मैं फिर ककड़ी का उपयोग करके अपने परीक्षण चला रहा हूं।

मेरे पास एक मूल्य तालिका है जिसमें बीज डेटा शामिल है जो मैं अपने सभी वातावरण में चाहता हूं।

मुझे रेक डीबी चाहिए: बीज इसे मेरे देव और परीक्षण डीबी और ककड़ी के लिए उस परीक्षण बीज का उपयोग करने में सक्षम होने के लिए जोड़ें। फिर मैं उस बीज डेटा को प्रोड में भी जोड़ दूंगा।

मैं कैसे सुनिश्चित कर सकता हूं कि मेरा बीज डेटा देव और परीक्षण डीबी दोनों में जोड़ा गया है? एक समान पद से

rake db:seed RAILS_ENV=test --trace 
rake db:seed RAILS_ENV=production --trace 

उत्तर

31

आप कुछ इस तरह की कोशिश कर सकते हैं।

मुझे सच में लगता है कि परीक्षण डेटाबेस भरने के लिए कारखानों का उपयोग करना बेहतर है। और यदि आपको अपने परीक्षणों के दौरान बीज डेटा की आवश्यकता है तो इसे spec_helper/test_helper में before :all ब्लॉक के रूप में जोड़ें।

+0

यह केवल कि रेक कार्य के लिए पर्यावरण को बदलने होगा? क्या मुझे इसे बाद में रीसेट करने की ज़रूरत है? –

+0

वास्तव में, आप बस अपने डेटाबेस.एमएल कॉन्फ़िगरेशन फ़ाइल के अनुसार पैरामीटर का उपयोग करने के लिए रेक को बता रहे हैं। वैसे भी जब आप सीख रहे हों, कम से कम अपने आदेशों में वर्बोज़ होना हमेशा एक अच्छा विचार है। आप अपने रेल ऐप चला सकते हैं: स्प्रिप/सर्वर RAILS_ENV = शिक्षा – Christian

7

चेक बाहर this answer:

rake db:seed #only adds it only to my dev database 
+0

शिक्षा के लिए +1 –

+0

यह उत्तर कई डेवलपर्स के लिए बेहतर है जो आपके परिवर्तन खींचेंगे और उनकी मशीनों पर परीक्षण चलाएंगे। इस उत्तर का उपयोग करके, आपको उन्हें दस्तावेज़ों को पढ़ने के लिए बताना नहीं होगा, जो उन्हें चलाने के लिए निर्देश देंगे: 'रेक डीबी: बीज RAILS_ENV = test --trace' हर बार। – Dominic

0

आप परीक्षण डेटाबेस के साथ काम करते समय this thread पर भी जा सकते हैं, खासकर जब से आप अपने परीक्षण डेटाबेस में डेटा को जारी रखना नहीं चाहते हैं।

जैसे ही आपके परीक्षण विकसित होने लगते हैं, आप सबसे अधिक संभावना बीज डेटा, कारखानों, साथ ही साथ मोजे का उपयोग करके पाएंगे, और लगातार डेटा के साथ आप स्वयं को संघर्ष में भाग लेंगे।

निजी तौर पर मैं अपने परीक्षण डेटाबेस के लिए एक कस्टम बीज फ़ाइल का उपयोग, और यह लोड करने के लिए मेरी rails_helper में पसंद:

DatabaseCleaner.strategy = :truncation 
DatabaseCleaner.clean 

load "#{Rails.root}/db/custom_test_seed.rb" 
संबंधित मुद्दे