2010-09-15 8 views
6

मैं अपने रेल ऐप से डेटा का स्थानीय बैकअप बनाने की कोशिश कर रहा हूं, जो हरोकू में तैनात है, और समस्याओं में चल रहा है। मैंने यहां दिए गए निर्देशों का पालन किया: http://docs.heroku.com/taps और स्थापित टैप्स।मैं उसके SQL डेटा को स्थानीय SQLite3 डेटाबेस में कैसे खींचूं? समस्याओं में चल रहा है

मुझे दो प्रकार की त्रुटियां मिलती हैं। मैं एक SQLite db स्थानीय रूप से बनाया गया है और इस आदेश के साथ डेटा खींच करने की कोशिश की:

(sudo) Heroku db: //Users/username/folder/testbackup.db

या

: SQLite खींच

(sudo) Heroku db: उपयोगकर्ता नाम //: खींच SQLite [email protected]/Users/username/folder/testbackup.db

लेकिन किसी भी तरह से मैं इस मिल:

डेटाबेस से कनेक्ट करने में विफल: अगली कड़ी :: DatabaseConnectionError -> SQLite3 :: CantOpenException: नहीं खोल सके डेटाबेस:

वैकल्पिक रूप से डेटाबेस फ़ाइल को खोलने में असमर्थ है, मैं दे टैप्स की स्वत: पहचान की कोशिश की मेरे ऐप में विकास डीबी और इसे फिर से लिखना, हालांकि यह वही नहीं है जो मैं चाहता था।

/opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:777:in report_activate_error': RubyGem version error: sequel(3.15.0 not ~> 3.13.0) (Gem::LoadError) from /opt/local/lib/ruby/site_ruby/1.8/rubygems.rb:211:in सक्रिय ' /opt/local/lib/ruby/site_ruby/1.8 से: की तरह तो मैं हो रही शुरू त्रुटियों `मणि ' /Library/Ruby/Gems/1.8/gems/taps-0.3.10/bin/schema:4 से

और अंततः

//rubygems.rb:1056:in सिस्टम/लाइब्रेरी/फ्रेमवर्क/रूबी.फ्रेमवर्क/संस्करण/1.8/यूएसआर/लीब/रूबी/रत्न/1.8/रत्न/स्क्लाइट 3-रूबी-1.2.4/lib/sqlite3/error.rb: 62: `ch में Eck ': SQLite3 :: SQLException: प्राथमिक कुंजी अद्वितीय (अगली कड़ी :: DatabaseError) पहले से

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

+0

एफवाईआई - नल आवश्यक डेटा बैकअप नहीं है। हो सकता है कि आप 'बंडल' जांचना चाहें, जैसे ही हेरोोक बैकफ चीजें हैं। – s84

+0

क्या आपने टैप मणि को आजमाने से पहले डीबी का उपयोग करने के लिए अपने सर्वर, या स्क्रिप्ट/कंसोल को फायर करने का प्रयास किया था? – s84

+0

मैंने सोचा था कि नलियां सिर्फ डेटा बैकअप थीं, और बंडल डेटा बैकअप प्लस कोड बैकअप था। चूंकि मुझे जिथब पर सभी कोड मिल गए हैं, मुझे लगा कि मुझे साइट से डेटा खींचने की आवश्यकता है। सर्वर को फायर करने के लिए - क्या यह आवश्यक नहीं है क्योंकि यह एक SQLite डेटाबेस है जो MYSQL के विपरीत है? – kateray

उत्तर

10

कुछ मुद्दे। सबसे पहले, आपकी सीक्वेल कनेक्शन स्ट्रिंग गलत है। प्रयास करें

heroku db:pull sqlite:///Users/username/folder/testbackup.db 

आप अभी भी एक अपवाद मिलता है, यह एक अनुमति समस्या के कारण हो सकता है, तो सुनिश्चित करें कि आप उस पथ पर लिख सकते हैं बनाते हैं।

आपकी रूबीगेम संस्करण त्रुटि इसलिए है क्योंकि नल के वर्तमान संस्करण में सीक्वेल 3.13.0 की आवश्यकता है, और आप पहले ही 3.15.0 सक्रिय कर चुके हैं। आपको या तो 3.13.0 का उपयोग करने की आवश्यकता है या आपको 3.15.0 का उपयोग करने के लिए टैप मणि स्पेक को संपादित करने की आवश्यकता है।

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

0

SQLite3::SQLException: PRIMARY KEY must be unique (Sequel::DatabaseError) समस्या के साथ, मैंने इसे देखा है जब पुल प्रगति पर है, जबकि उसके डेटाकोष डेटाबेस में डेटा लिखा जा रहा है। अगर मुझे लगता है कि उसकेोकू पर कोई गतिविधि नहीं है तो काम करने लगता है।यह एक अवैज्ञानिक और संभवतः पूरी तरह से संयोग दृष्टिकोण है, लेकिन मेरे लिए काम करना प्रतीत होता है।

संबंधित मुद्दे