यदि आप हेरोकू को भेज रहे हैं 1.sql
H2
. के लिए जेनरेट की गई फ़ाइल , इस बात की बड़ी संभावना है कि वे विरोध करेंगे, इसके बजाय, हेरोकू के url को application.conf
में सेट करें db.default.url
. के रूप में और वैध पोस्टर्स एसक्यूएल उत्पन्न करने के लिए इसे पहले स्थानीयहोस्ट पर देव मोड में चलाएं। साथ ही आपको db.default.user
. पर टिप्पणी करनी होगी और db.default.password
सेटिंग्स, क्योंकि हेरोकू के यूआरएल में पहले से ही यह जानकारी है।
यदि आप वर्तमान कनेक्शन का URL नहीं जानते हैं तो आप इसे इस पर पाएंगे:
https://postgres.heroku.com/ -> YourDBs
-> डीबी-नाम -> Connection settings
-> JDBC URL
लोकलहोस्ट (या अन्य मशीन से कनेक्ट करने के लिए, हरोकू के स्थान में नहीं) आपको इस परम को URL में जोड़ना होगा:
&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
इस दृष्टिकोण के लिए धन्यवाद आप दूरस्थ हेरोकू के डीबी से स्थापित कनेक्शन के साथ स्थानीय रूप से अपने आवेदन का परीक्षण कर सकते हैं, (आश्चर्य न करें - यह संयोजन local app + local DB
के साथ काम करने से बहुत धीमा होगा। या Heroku app + Heroku DB
) वैसे भी परीक्षण के लिए यह बार-बार छोटे सुधारों को क्लाउड पर धकेलने से बेहतर है।
इसके अलावा, आप लोकलहोस्ट से इवोल्यूशन करने में सक्षम होंगे - कोड को हरोकू में धकेले बिना, और यह वास्तव में छोटा तरीका है यदि आपको अपने SQL में समस्या है।
इसके अतिरिक्त स्थानीय देव मोड में एसक्यूएल लॉगिंग चालू करने और अनावश्यक एसक्यूएल प्रश्नों की तलाश करने का यह अच्छा अवसर है, यदि आप सभी आवश्यक प्रश्नों को हटा देंगे और स्थानीयहोस्ट पर संतुष्ट होंगे, हेरोकू को तैनात करने के बाद, आप और अधिक संतुष्ट होंगे:)
रीसेट करें
यदि आप उचित 1.sql
बनाएंगे फ़ाइल की तुलना में शायद आपको अपने डीबी को अमान्य संरचना वाले रीसेट करने की आवश्यकता होगी (जैसा कि मुझे लगता है कि यह अभी तक कोई समस्या नहीं है क्योंकि आप स्थानीय से हेरोकू में जा रहे हैं)। पहले वर्तमान ऐप के लिए डीबी का नाम खोजें (बैश के साथ, ऐप के फ़ोल्डर में):
heroku pg
और फिर इसे रीसेट करें (यह सभी डेटा को नष्ट कर देगा इसलिए यदि आप अपना डेटा खोना नहीं चाहते हैं तो पहले बैकअप पर विचार करें!):
heroku pg:reset HEROKU_DATABASE_SOMEBASE