কীভাবে একটি হেরোকু ডাটাবেস খালি করা যায়


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 rakepg:resetপরিবর্তে আপনাকে ব্যবহার করতে হবে।

হেরোকুর ডকুমেন্টেশনে আরও তথ্য পাওয়া যাবে:

রেক কমান্ড চলমান

রিসেট পোস্টগ্রিস ডিবি


21
ধন্যবাদ. আসলে, "হিরকু পিজি: রিসেট --db SHARED_DATABASE_URL" কৌশলটি করেছে। তবে আপনি আমাকে সঠিক পথে যাচ্ছেন।
জে গডসে

5
@ জয়গোডেস হেরোকু এখন বলেছেনSHARED_DATABASE_URL is deprecated, please use SHARED_DATABASE
ফিলি

6
আসলে আপনার নিজের স্কিমা.আরবিতে যাচাই করা উচিত এবং আপনার ব্যবহার করা উচিত: রেক ডিবি: স্কিমা: লোড
অমলা

18
তারা এটা আবার পরিবর্তিত হয়েছে এখনheroku pg:reset DATABASE
হারিস Krajina

8
কয়েক সেকেন্ড সময় বাঁচাতে, ব্যবহার করুনheroku pg:reset DATABASE --confirm appname
গ্যাংস্টাগ্রাহাম

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
আপনি যদি কেবল পেস্ট করে কিছুটা বাদ দেন (এবং সহ) - হিরকু আপনাকে কী লিখতে হবে তা বলবে ..
বাশ05

হিরকু: হিরকু কনফিগারেশনে আপনার পোস্টগ্রিজ ডাটাবেসের নাম পেতে দরকারী কমান্ড গ্রেপ HEROKU_POSTGRESQL
শূন্য_কুল

"আপনি আক্ষরিক পাঠ্য 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আর ডাটাবেসের recreates
Rots


13

এখন কমান্ডটি

heroku pg:reset DATABASE_URL --confirm your_app_name

আপনি যে অ্যাপ্লিকেশনটির ডিবি আপনি পুনরায় সেট করতে চান তা এইভাবে নির্দিষ্ট করতে পারেন। তাহলে আপনি চালাতে পারেন

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

অথবা উপরের দুটি আদেশের জন্য সরাসরি

heroku run rake db:setup 

এবং এখন আপনার অ্যাপ্লিকেশন পুনরায় চালু করতে চূড়ান্ত পদক্ষেপ

heroku restart

1
পুনঃসূচনাটি প্রয়োজনীয় নাও হতে পারে তবে একটি উল্লেখ করে ভাল পয়েন্ট।
ফ্রান্সিসকো কুইন্টোর

11

আমি হেরোকু সমর্থনের সাথে যোগাযোগ করেছি এবং তারা নিশ্চিত করেছে যে এটি সর্বশেষতম রত্ন সহ একটি বাগ (আমি হিরকু-২.২26.২ ব্যবহার করছি)

চার্লি - আমরা 'হিরকু' রত্নটির সাথে এই সমস্যাটি সম্পর্কে সচেতন এবং এটি সমাধানের জন্য কাজ করছি।

আপনি যদি অনুসরণে মনোযোগী হন তবে এখানে সমস্যাটি রয়েছে - https://github.com/heroku/heroku/issues/356

'হিরকু' রত্নটির পূর্ববর্তী সংস্করণে ডাউনগ্রেড করা উচিত। আমি আজ ইস্যু ছাড়াই বেশিরভাগের জন্য 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
সমস্ত রত্ন এখনই অবচয় করা হয়েছে, আপনাকে সেগুলি থেকে মুক্তি দিতে হবে এবং হেরোকু টুলবেল্ট ইনস্টল করতে হবে। সরঞ্জামবেল.হেরোকু.কম
ঘোটি

9

সম্পূর্ণ উত্তর (বহু-DB ব্যবহারকারীদের জন্য) হল:

Herku pg: তথ্য - যা আউটপুট দেয়

=== HEROKU_POSTGRESQL_RED <- এটি ডিবি
প্ল্যান বেসিক
স্ট্যাটাস উপলভ্য

হিরকু পিজি: HEROKU_POSTGRESQL_RED - কনফিগার অ্যাপ_নাম রিসেট করুন

আরও তথ্যে পাওয়া গেছে: https://devcenter.heroku.com/articles/heroku-postgresql


8

এখন এটি হিরকুর সাথে আলাদা। চেষ্টা করুন: হিরকু পিজি: পুনরায় ডেটাবেস - কনফার্ম


কিছু অ্যাপ্লিকেশানের জন্য আপনাকে এখনও SHARED_DATABASE
tfwright

7

আজ কমান্ড

heroku pg:reset --db SHARED_DATABASE_URL

ভাগ করে নেওয়া পরিকল্পনার জন্য কাজ করছি না, আমি ব্যবহারের সংকল্প করছি

heroku pg:reset SHARED_DATABASE

6

আপনার ডিবিতে লগইন করুন heroku pg:psqlএবং নিম্নলিখিত কমান্ডগুলি টাইপ করুন:

drop schema public cascade;
create schema public;

6

এখন তাদের ওয়েব ইন্টারফেসের মাধ্যমে ডাটাবেসটি পুনরায় সেট করাও সম্ভব।

যান dashboard.heroku.com আপনার অ্যাপ্লিকেশন নির্বাচন করুন এবং তারপর আপনি অ্যাড-অন বিভাগ অধীনে ডাটাবেসের খুঁজে পাবেন, এটা ক্লিক করুন এবং তারপর আপনি ডাটাবেস রিসেট করতে পারেন।

হেরোকু ডেটাবেস রিসেট করুন


5

আপনার হিরকু সংস্করণ পরীক্ষা করুন। আমি স্রেফ আমার অনুসরণটি ২.২ 29 .০ এ আপডেট করেছি:

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.clear ডিবি।

heroku pg:reset --app YOUR_APP

এটি চালানোর পরে আপনাকে নিশ্চিত করতে আবার আপনার অ্যাপ্লিকেশন নামটি টাইপ করতে হবে।

পুনরায় তৈরি করতে ডিবি স্থানান্তর করুন।

heroku run rake db:migrate  --app YOUR_APP

ডিবিতে বীজের ডেটা যোগ করুন।

heroku run rake db:seed --app YOUR_APP

3

আপনি যদি হিরোকু ওয়েব সাইট ব্যবহার করতে পছন্দ করেন তবে:

  1. Https://postgres.heroku.com / ডেটাবেসগুলিতে যান
  2. আপনি পুনরায় সেট করতে চান ডাটাবেস নির্বাচন করুন
  3. ডান উপরের কোণায় একটি সেটিংস বোতামে ক্লিক করুন
  4. নীচে প্রদর্শিত হিসাবে "রিসেট ডেটাবেস" ক্লিক করুন:
  5. "রিসেট" টাইপ করুন এবং ঠিক আছে চাপুন

হিরকু ডাটাবেস পুনরায় সেট করুন


2

ধরে নিই যে আপনি আপনার পোস্টগ্রিজ এসকিউএল ডাটাবেসটি পুনরায় সেট করতে চান এবং এটি ব্যাক আপ সেট করতে চান, ব্যবহার করুন:

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

1

আপনি যদি কনসোল থেকে লগ ইন করেছেন তবে এটি সর্বশেষতম হিরকু সরঞ্জামদানে কাজ করবে,

Herku pg: পুনরায় সেট করুন - ডাটাবেস-নাম নিশ্চিত করুন



0

আপনার ইস্যুটির সেরা সমাধান হবে solution

heroku pg:reset -r heroku  --confirm your_heroku_app_name

- আপনার_রোকু_অ্যাপ_নামটি নিশ্চিত করুন

প্রয়োজন হয় না, তবে টার্মিনাল সর্বদা আমাকে সেই আদেশটি করতে বলে।

সেই কমান্ডের পরে আপনার খাঁটি ডিবি থাকবে, বিনা কাঠামো এবং স্টাফ ছাড়াই, আপনি চালাতে পারবেন

heroku run rake db:schema:load -r heroku

অথবা

heroku run rake db:migrate -r heroku
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.