2012-06-20 14 views
5

मैं अपने Heroku अनुप्रयोग के लिए डाटाबेस अपने स्थानीय Postgres पुश करने के लिए कोशिश कर रहा हूँ, और Heroku गाइड के बाद, मैं heroku db:push किया, लेकिन मैं निम्नलिखित त्रुटि मिलती है:Heroku db: धक्का समस्याओं

[email protected]:~$ heroku db:push 
! Taps Load Error: cannot load such file -- sqlite3 
! You may need to install or update the taps gem to use db commands. 
! On most systems this will be: 
!  
! sudo gem install taps 

मैं पहले से ही sudo gem install taps की कोशिश की, sudo gem install sqlite3, लेकिन मैं इसे काम नहीं कर सकता। जब भी मैं पोस्टग्रेस का उपयोग कर रहा हूं, तो कोई विचार क्यों एक sqlite3 डीबी लोड करने का प्रयास कर रहा है?

उत्तर

14

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

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

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

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

फिर Heroku डाटाबेस के लिए अपने स्थानीय डाटाबेस से स्थानांतरित:

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

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

+0

ऐसा लगता है यह काम करने के लिए जा रहा है, लेकिन यह करने के लिए कनेक्ट करने में विफल रहता Heroku के डाटाबेस .: pg_restore: [archiver (डाटाबेस)] डेटाबेस के लिए "hdciwacofe" कनेक्शन विफल: सर्वर से कनेक्ट नहीं कर सकता है: कनेक्शन का समय समाप्त हो \t है सर्वर होस्ट पर चल रहा है "ec2-107-22-235-197.compute-1.amazonaws.com" (107.22.235.197) और \t पोर्ट 5432 पर टीसीपी/आईपी कनेक्शन स्वीकार कर रहा है? pg_restore: *** त्रुटि – leonsas

+0

की वजह से निरस्त है क्या आप जानते हैं कि आप किस डेटाबेस का उपयोग कर रहे हैं? यदि आप 'heroku config' चलाते समय SHARED_DATABASE_URL देखते हैं तो आप करते हैं और यह काम नहीं करेगा। आपको एक हेरोकू देव योजना में माइग्रेट करना होगा। –

+0

यह काम किया, लेकिन यह बहुत ज़ेन नहीं है। अगर आदेश छोटा हो गया था या 'डीबी: पुश' तय किया गया तो यह अच्छा होगा। – Chloe