हरोकू डेटाबेस को खाली कैसे करें


355

मैं हर्को पर रेल 3 वेब पर रूबी पर काम कर रहा हूं। मैं डेटाबेस को कैसे खाली करूं?

जवाबों:


689

डेटाबेस को छोड़ने के लिए, यदि आप उपयोग कर रहे हैं SHARED_DATABASE_URL:

$ heroku pg:reset DATABASE_URL

अब इसमें कुछ नहीं के साथ डेटाबेस को फिर से बनाने के लिए:

$ heroku run rake db:migrate  

अपने बीज डेटा के साथ डेटाबेस को आबाद करने के लिए :

$ heroku run rake db:seed

--- या ---

आप इसे निष्पादित करके पिछले दो ( माइग्रेट और बीज ) को एक क्रिया में जोड़ सकते हैं :

$ heroku run rake db:setup

संपादित करें 2014-04-18: rake db:setupरेल 4 के साथ काम नहीं करता, यह ए के साथ विफल रहता हैCouldn't create database error

संपादित करें 2014-10-09: आप rake db:setupरेल 4 के साथ उपयोग कर सकते हैं । यह आपको एक Couldn't create databaseत्रुटि देता है (क्योंकि डेटाबेस पहले ही heroku pg:resetकमांड का उपयोग करके बनाया गया था )। लेकिन यह त्रुटि संदेश के बाद आपके डेटाबेस स्कीमा और आपके बीजों को भी लोड करता है।

आप इसे किसी भी रेक कमांड के साथ कर सकते हैं, लेकिन इसके कुछ अपवाद भी हैं। उदाहरण के लिए, के db:resetमाध्यम से काम नहीं करता है heroku run rake। आपको उपयोग करना होगाpg:reset इसके बजाय करना होगा।

हेरोकू के दस्तावेज में अधिक जानकारी पाई जा सकती है:

रनिंग कमांड्स

Reset Postgres DB


21
धन्यवाद। दरअसल, "heroku pg: reset --db SHARED_DATABASE_URL" ने चाल चली। लेकिन आपने मुझे सही दिशा में जाना है।
जय गोडसे

5
@JayGodse हेरोकू अब कहते हैंSHARED_DATABASE_URL is deprecated, please use SHARED_DATABASE
फिल

6
लोड: वास्तव में आप अपने schema.rb में जाँच की जानी चाहिए और आप का उपयोग करना चाहिए: रेक db: स्कीमा
अमला

18
उन्होंने इसे अब फिर से बदल दिया हैheroku pg:reset DATABASE
हारिस क्रिजिना

8
कुछ सेकंड के समय को बचाने के लिए, का उपयोग करेंheroku pg:reset DATABASE --confirm appname
GangstaGraham

97

हेरोकू ने --dbअब विकल्प को हटा दिया है, इसलिए अब उपयोग करें:

heroku pg:reset DATABASE_URL --confirm {the name of your app}

यह थोड़ा भ्रामक है क्योंकि आप शाब्दिक पाठ का उपयोग करते हैं, SHARED_DATABASEलेकिन मैंने {the name of your app}आपके ऐप के नाम का विकल्प कहां लिखा है । उदाहरण के लिए, यदि आपके ऐप को my_great_app कहा जाता है, तो आप उपयोग करते हैं:

heroku pg:reset DATABASE_URL --confirm my_great_app

3
अगर आप सिर्फ पेस्ट (और सहित) के बाद थोड़ा छोड़ देते हैं - द हेरोकू आपको बताएगा कि क्या टाइप करना है ..
baash05

उपयोगी कमांड अपने डेटाबेस पर अपने पोस्टग्रेज डेटाबेस का नाम पाने के लिए: heroku config | grep HEROKU_POSTGRESQL
zero_cool

"आप शाब्दिक पाठ SHARED_DATABASE का उपयोग करते हैं"? आप अपने कोड नमूनों में DATABASE_URL का उपयोग कर रहे हैं। क्या तुम्हारा मतलब है कि?
माइकल डुरंट

नहीं। मैं दूसरे उत्तर के शब्दों के उपयोग की बात कर रहा थाSHARED_DATABASE
डेव सग

65

डेटाबेस को छोड़ने के लिए:

$ heroku pg:reset SHARED_DATABASE --confirm NAME_OF_THE_APP

डेटाबेस को फिर से बनाने के लिए:

$ heroku run rake db:migrate

डेटाबेस बीज के लिए:

$ heroku run rake db:seed

**अंतिम चरण

$ heroku restart

4
मैं इस उत्तर को किसी और के ऊपर पसंद करता हूं। यह हरोकू पर मेरे परिदृश्य में पूरी तरह से काम करता है, मेरा मानना ​​है कि यह अत्यधिक मतदान के तहत है!
जोनाथन

ऐसा इसलिए हो सकता है क्योंकि हाल ही में हरोकू ने इन कमांडों के सिंटैक्स को बदल दिया।
जॉर्ज याकूब

1
'हेरोकू रीस्टार्ट' वह एक महत्वपूर्ण टुकड़ा था जो मुझे याद आ रहा था। धन्यवाद।
जेरेमी निकोलाई

heroku run rake db:migrateअब डेटाबेस को
दोबारा


13

अब आज्ञा है

heroku pg:reset DATABASE_URL --confirm your_app_name

इस तरह से आप निर्दिष्ट कर सकते हैं कि आप किस ऐप के db को रीसेट करना चाहते हैं। तब तुम दौड़ सकते हो

heroku run rake db:migrate 
heroku run rake db:seed 

या ऊपर दिए गए दोनों आदेशों के लिए प्रत्यक्ष

heroku run rake db:setup 

और अब अपने ऐप को पुनः आरंभ करने के लिए अंतिम चरण

heroku restart

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

11

मैंने हरोकू समर्थन से संपर्क किया, और उन्होंने पुष्टि की कि यह नवीनतम मणि के साथ एक बग है (मैं हर्को-2.26.2 का उपयोग कर रहा हूं)

चार्ली - हम 'हेरोकू' रत्न के साथ इस मुद्दे से अवगत हैं और इसे ठीक करने के लिए काम कर रहे हैं।

यहाँ समस्या है अगर आप का पालन करने के साथ देखभाल - https://github.com/heroku/heroku/issues/356

'Heroku' रत्न के पुराने संस्करण में अपग्रेड करने में मदद करनी चाहिए। मैं v2.25.0 का उपयोग आज के अधिकांश मुद्दे के बिना कर रहा हूं।

निम्न आदेशों के साथ डाउनग्रेड करें:

gem uninstall heroku

gem install heroku --version 2.25.0

यदि आपके पास पहले से ही कई रत्न स्थापित हैं, तो आपको निम्न के साथ प्रस्तुत किया जा सकता है:

Select gem to uninstall:
 1. heroku-2.25.0
 2. heroku-2.26.2
 3. All versions

बस # 2 की स्थापना रद्द करें और कमांड को फिर से चलाएँ। जोय!


1
सभी रत्नों को अब हटा दिया गया है, आपको उनसे छुटकारा पाने और हरोकू टूलबेल को स्थापित करने की आवश्यकता है। toolbelt.heroku.com
घोटी

9

पूरा जवाब (बहु db के साथ उपयोगकर्ताओं के लिए) है:

heroku स्नातकोत्तर: जानकारी - जो आउटपुट

=== HEROKU_POSTGRESQL_RED <- यह DB
प्लान बेसिक
स्टेटस उपलब्ध है

heroku pg: रीसेट HEROKU_POSTGRESQL_RED --confirm app_name

अधिक जानकारी में पाया गया: https://devcenter.heroku.com/articles/heroku-postgresql


8

अब यह हरोकू के साथ अलग है। कोशिश करें: heroku pg: रीसेट DATABASE --confirm


कुछ ऐप्स के लिए आपको अभी भी
बजे

7

आज आज्ञा है

heroku pg:reset --db SHARED_DATABASE_URL

साझा योजनाओं के लिए काम नहीं कर रहा है, मैं उपयोग कर रहा हूं

heroku pg:reset SHARED_DATABASE

6

heroku pg:psqlनिम्न आदेशों का उपयोग करके अपने DB में लॉगिन करें :

drop schema public cascade;
create schema public;

6

अब उनके वेब इंटरफेस के माध्यम से डेटाबेस को रीसेट करना भी संभव है।

डैशबोर्ड पर जाएं .heroku.com अपना ऐप चुनें और फिर आपको ऐड-ऑन श्रेणी के तहत डेटाबेस मिलेगा, उस पर क्लिक करें और फिर आप डेटाबेस को रीसेट कर सकते हैं।

हरोकू डेटाबेस को रीसेट करें


5

अपने हर्को संस्करण की जाँच करें। मैंने सिर्फ २.२ ९ .० को मेरा अपडेट किया, जो इस प्रकार है:

heroku --version
#=> heroku-gem/2.29.0 (x86_64-linux) ruby/1.9.3

अब आप चला सकते हैं:

heroku pg:reset DATABASE --confirm YOUR_APP_NAME

फिर अपना डेटाबेस बनाएं और इसे एकल कमांड में डालें:

heroku run rake db:setup

अब पुनः आरंभ करें और अपने ऐप को आज़माएं:

heroku restart
heroku open

4

इसी से मेरा काम बना है।

1. अस्पष्ट db।

heroku pg:reset --app YOUR_APP

जिसे चलाने के बाद आपको पुष्टि करने के लिए फिर से अपना ऐप नाम टाइप करना होगा।

2.Migrate डीबी को फिर से बनाने के लिए।

heroku run rake db:migrate  --app YOUR_APP

3. dd बीज डेटा को db।

heroku run rake db:seed --app YOUR_APP

3

यदि आप हर्को वेब-साइट का उपयोग करना पसंद करते हैं:

  1. के लिए जाओ Https://postgres.heroku.com/dat जाएं
  2. उस डेटाबेस का चयन करें जिसे आप रीसेट करना चाहते हैं
  3. दाहिने ऊपरी कोने में एक सेटिंग बटन पर क्लिक करें
  4. नीचे दिखाए अनुसार "डेटाबेस रीसेट करें" पर क्लिक करें:
  5. "RESET" में टाइप करें और ओके दबाएं

heroku डेटाबेस रीसेट


2

मान लें कि आप अपने PostgreSQL डेटाबेस को रीसेट करना चाहते हैं और इसे वापस सेट अप करें, उपयोग करें:

heroku apps

हर्कोक पर अपने अनुप्रयोगों को सूचीबद्ध करने के लिए। अपने वर्तमान एप्लिकेशन का नाम खोजें ( application_name)। फिर भागो

heroku config | grep POSTGRESQL

अपने डेटाबेस का नाम प्राप्त करने के लिए। एक उदाहरण हो सकता है

HEROKU_POSTGRESQL_WHITE_URL

अंत में, दिया गया application_nameऔर database_url, आपको दौड़ना चाहिए

heroku pg:reset `database_url` --confirm `application_name`
heroku run rake db:migrate
heroku restart



0

आपके लिए समस्या का सबसे अच्छा समाधान होगा

heroku pg:reset -r heroku  --confirm your_heroku_app_name

- your_heroku_app_name पर पुष्टि करें

आवश्यकता नहीं है, लेकिन टर्मिनल हमेशा मुझसे उस आदेश को करने के लिए कहता है।

उस कमांड के बाद आपके पास शुद्ध डीबी होगा, संरचना और सामान के बिना, उसके बाद आप चला सकते हैं

heroku run rake db:schema:load -r heroku

या

heroku run rake db:migrate -r heroku
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.