2012-06-21 25 views
6

मैं db 'का इस्तेमाल करने वाली टैप्स रूबी 1.9.2-P320 Heroku के साथ का उपयोग कर निम्न त्रुटियों मिल गया है आदेश जैसे:Heroku db: खींच टैप्स लोड करने में त्रुटि: लोड करने के लिए ऐसी कोई फाइल नहीं - पीजी

heroku db:pull --app my-app 

कौन सा की तरह त्रुटियों का उत्पादन:

Taps Load Error: no such file to load -- sqlite3 

-या-

Taps Load Error: no such file to load -- pg 

(और हाँ, btw, मैं दोनों postgres सहित सभी सही रत्न, है - रन स्थानीय स्तर पर ठीक से ning - और sqlite3, साथ ही साथ अनइंस्टॉल किया गया, पुनः स्थापित किया गया है, और & हुकोकू रत्नों को अपडेट किया गया है और साथ ही साथ उन्हें मेरे Gemfile में भी शामिल नहीं किया गया है। मैं रेल 3.2.6 चला रहा हूं)

हालांकि एक ज्ञात बग है जिसके परिणामस्वरूप "समय क्षेत्र विस्थापन" त्रुटि होती है: heroku db:push not working, using taps gem, मैंने कोई भी एसओ पोस्ट नहीं देखा है जो सीधे इस मुद्दे को संबोधित करता है।

उत्तर

2

समाधान मैंने पाया, https://github.com/ricardochimal/taps/issues/92 से संकेत का उपयोग कर यहाँ विस्तृत है: https://github.com/ricardochimal/taps/issues/92#issuecomment-6486535

इसके बारे में कम, कि रूबी 1.9.2-P320 है समस्या हुई है, जहाँ तक मैं बता सकता हूँ लगता है। रूबी 1.9.2-पी 2 9 0 के लिए डाउनग्रेडिंग मेरे लिए तय है। यह उपरोक्त लिंक पर बोले 1.9.3 मुद्दों से संबंधित हो सकता है, सुनिश्चित नहीं है।

यदि आप अभी भी टैप्स के साथ लटक रहे हैं, तो कृपया this comment at GH देखें, क्योंकि पोस्टर डोशी ने मुझे या जेफस्ट की तुलना में और अधिक अच्छी तरह से देखा है।

मैं यहां भी दोहरा दूंगा कि यदि आप को टैप्स की आवश्यकता नहीं है, तो उसकेोकू-पीजीट्रांसफर आपका मित्र है। नए टूल का उपयोग करने पर Ryan's answer to my question here और his excellent blog post देखें।

+0

एफवाईआई, टैप्स मणि रूबी 1.9.2-पी 2 9 0 के साथ मेरे लिए काम नहीं करता है। मुझे त्रुटि मिलती है 'टैप्स लोड त्रुटि: लोड करने के लिए ऐसी कोई फ़ाइल नहीं - टैप्स/ऑपरेशन'। – Clay

+1

नलोकू और स्थानीय दोनों पर एक ही रूबी संस्करणों का उपयोग करके टैप्स मेरे लिए काम करना शुरू कर दिया। [मेरी जीएच टिप्पणी देखें] (https://github.com/ricardochimal/taps/issues/92#issuecomment-6486535): मैं सुझाव दूंगा कि आप कोशिश करें: $ 'heroku run' ruby ​​-v'' और देखें कि हेरोकू कौन सा संस्करण है चल रहा है और फिर मिलान करने के लिए अपने स्थानीय एक को अद्यतन करें। कोई गारंटी नहीं है, लेकिन ऐसा लगता है कि यह मेरे लिए क्या हुआ (फिर, अनुमान लगाया जा सकता है, शायद गलती है [रूबी का तर्क marshalling] (http://stackoverflow.com/questions/8151571/error-when-pushing-data-to- Heroku-समय-क्षेत्र-विस्थापन-बाहर के रेंज)?)। Heroku Toolbelt पर जीएच पर जेफस्ट की टिप्पणी भी देखें। – likethesky

+0

करें ~/.rvm/bin/ruby-1.9.2-p320/usr/bin/heroku db: पुश – Ted

15

पोस्टग्रेस उदाहरणों के बीच डेटा माइग्रेट करते समय उपयोग करने के लिए टैप अब अनुशंसित टूल नहीं है। कृपया heroku-pg-transfer इसके बजाय प्रयास करें।

यह केवल तभी काम करेगा यदि आप production databases या नए Heroku postgres dev or basic plans में से किसी एक का उपयोग कर रहे हैं। यदि आप अभी भी पुराने साझा डेटाबेस योजना पर हैं, तो मैं नई देव योजना में स्विच करने का सुझाव दूंगा।

पहले, Heroku पर अपने डाटाबेस के लिए URL का पता लगाने:

$ heroku config:get DATABASE_URL 
postgres://yada:[email protected]:5432/123 

अपने स्थानीय डाटाबेस को db Heroku से फिर हस्तांतरण: चूंकि Heroku-PG-हस्तांतरण उपकरण postgres का इस्तेमाल करता

$ heroku plugins:install https://github.com/ddollar/heroku-pg-transfer 
$ heroku pg:transfer -t postgres://localhost/dbname -f postgres://yada:[email protected]/123 

देशी pg_dump सुविधा यह एक बहुत अधिक अनुमानित और लचीला उपकरण है।

मैं यहाँ इसके बारे में अधिक लिखा है: Using heroku pg:transfer to migrate Postres databases

+0

धन्यवाद [@Ryan Daigle] (http://stackoverflow.com/users/1339184/ryan-daigle) - - मैं मानता हूं कि Heroku-pg-transfer उन लोगों के लिए बेहतर है जो हेरोोक पोस्टग्रेस देव योजना का उपयोग कर रहे हैं (और उपयोगकर्ताओं को इसका उपयोग करने की सलाह देते हैं!), हालांकि मेरा प्रश्न टैप्स का उपयोग करने के बारे में पूछ रहा है, इसलिए मैंने अपना स्वीकार्य उत्तर के रूप में चिह्नित किया है । मैंने ज्यादातर इस क्यू एंड ए को पोस्ट किया क्योंकि मैंने यह पता लगाने की कोशिश की कि क्या गलत था, इसलिए यदि अन्य अभी भी टैप्स का उपयोग कर रहे हैं, तो मुझे आशा है कि उन्हें यह (और आपकी सलाह) उपयोगी लगेगी। धन्यवाद! – likethesky

+0

धन्यवाद इसे पोस्ट करने के लिए बहुत कुछ। दर्द के हफ्तों के बाद, टैप्स काम करने के लिए बकवास कर रहे हैं। अंत में इस दृष्टिकोण का उपयोग किया और बीएएम पहली बार काम किया! थंक्यु थंक्यौ – Evolve

+0

धन्यवाद! टैप को हेरोकू के साथ काम करने की कोशिश करने में कई घंटे गुम हो गए हैं, और यह पहला उल्लेख है जिसे मैंने पीजी: ट्रांसफर के बारे में देखा है। पहली बार काम किया! – matadur

2

मेरे समाधान (विकास के तहत) gemfile में नल मणि और sqlite3 मणि (यहां तक ​​कि कि मैं एप्लिकेशन में कहीं SQLite नहीं है) को जोड़ने के लिए था ।

+0

यह भी काम करता है अगर आप 'gem install sqlite3' चलाते हैं और इसे अपने रत्न से बाहर छोड़ देते हैं। – brent

1

@likethesky के अनुसार, आप डाउनग्रेड कर सकते हैं।वैकल्पिक रूप से, सिर्फ

~/.rvm/bin/ruby-1.9.2-p320 /usr/bin/heroku db:push 
बेशक

, कि जरूरी नल और sqllite3 जवाहरात के रूप में अच्छी तरह से स्थापित के साथ स्थापित P320 है। जगह में रखने के लिए काफी आसान है।