web-dev-qa-db-ja.com

Herokuデータベースを空にする方法

私はHeroku上のRuby on Rails 3 Webアプリケーションに取り組んでいます。データベースを空にするにはどうすればよいですか。

345
user591338

SHARED_DATABASE_URLを使用している場合、データベースを削除するには:

$ heroku pg:reset DATABASE_URL

次に、recreateデータベースに何も含まれていない場合:

$ heroku run rake db:migrate  

シードデータをデータベースにpopulateするには:

$ heroku run rake db:seed

---または---

これを実行することにより、最後の2つ(migrate&seed)を1つのアクションに結合できます。

$ heroku run rake db:setup

Edit2014-04-18:rake db:setupはRails 4では機能せず、Couldn't create database error

Edit2014-10-09:Railsでrake db:setupを使用できます4. 4. Couldn't create databaseエラー(データベースはheroku pg:resetコマンドを使用して既に作成されているため)。ただし、エラーメッセージの後にデータベーススキーマとシードもロードします。

ほとんどすべてのrakeコマンドでこれを行うことができますが、例外があります。たとえば、db:resetheroku run rake経由では機能しません。代わりにpg:resetを使用する必要があります。

詳細については、Herokuのドキュメントを参照してください。

Rakeコマンドの実行

Postgres DBをリセット

677
Shaun

Herokuは--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
96
Dave Sag

データベースを削除するには

$ heroku pg:reset SHARED_DATABASE --confirm NAME_OF_THE_APP

データベースを再作成するには

$ heroku run rake db:migrate

データベースをシードするには

$ heroku run rake db:seed

**最終段階

$ heroku restart
63
George Yacoub

現在、すなわち。 2017これを行う方法は次のとおりです。

heroku pg:reset DATABASE

https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset

42
superluminary

今コマンドは

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
12

Herokuのサポートに連絡したところ、最新のgemのバグであることが確認されました(heroku-2.26.2を使用しています)。

チャーリー - 私たちは 'heroku'宝石に関するこの問題を認識しており、それを修正しようとしています。

あなたがフォローしたいのであれば、これが問題です - https://github.com/heroku/heroku/issues/356

以前のバージョンの 'heroku' gemにダウングレードすると役に立ちます。私は今日問題なくv2.25.0を使っています。

次のコマンドでダウングレードします。

gem uninstall heroku

gem install heroku --version 2.25.0

すでに複数のgemがインストールされている場合は、次のように表示されるかもしれません。

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

#2をアンインストールしてコマンドを再実行するだけです。喜び!

11
superhighfives

完全な答えは、(multi-dbを持つユーザーの場合)です。

heroku pg:info - 出力する

===HEROKU_POSTGRESQL_RED< - これはDBです
プラン基本
ステータスがあります

heroku pg:HEROKU_POSTGRESQL_REDのリセット - app_nameの確認

で見つけられるより多くの情報: https://devcenter.heroku.com/articles/heroku-postgresql

9
Alvin K.

今では英雄とは異なります。試してみてください。heroku pg:reset DATABASE --confirm

8
jstnno

今日のコマンド

heroku pg:reset --db SHARED_DATABASE_URL

共有プランでは動作しません、使用して解決します

heroku pg:reset SHARED_DATABASE
7
mmarqueti

今では彼らのWebインターフェースを介してデータベースをリセットすることも可能です。

dashboard.heroku.com に移動してアプリを選択すると、アドオンカテゴリの下にデータベースが表示されます。それをクリックすると、データベースをリセットできます。

Reset Heroku Database

6
Luís Ramalho

heroku pg:psqlを使用してDBにログインし、以下のコマンドを入力してください。

drop schema public cascade;
create schema public;
6
manish_s

英雄のバージョンを確認してください。次のように、私のバージョンを2.29.0に更新しました。

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
5
Flavio Wuensche

これは私のために働いたものです。

1.明確なデシベル。

heroku pg:reset --app YOUR_APP

それを実行した後、あなたは確認するためにあなたのアプリ名をもう一度入力しなければならないでしょう。

2. dbを再作成します。

heroku run rake db:migrate  --app YOUR_APP

3.シードデータをdbに追加します。

heroku run rake db:seed --app YOUR_APP
3
Ronny Kibet

あなたがHerokuのウェブサイトを使うことを好む場合:

  1. https://postgres.heroku.com/databases にアクセスしてください。
  2. リセットしたいデータベースを選択します
  3. 右上の設定ボタンをクリック
  4. 以下のように「データベースのリセット」をクリックしてください。
  5. 「RESET」と入力してOKを押します。

heroku database reset

2
KIO

あなたのPostgreSQLデータベースをリセットしてそれをバックアップしたいと仮定すると、

heroku apps

アプリケーションをHerokuにリストする。現在のアプリケーションの名前(application_name)を探します。それから走りなさい

heroku config | grep POSTGRESQL

データベースの名前を取得します。例としては

HEROKU_POSTGRESQL_WHITE_URL

最後に、application_namedatabase_urlが与えられたら、あなたは実行するべきです

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

コンソールからログインしている場合は、最新のheroku toolbeltで作業します。

heroku pg:reset - データベース名の確認

1
Charles Skariah

あなたにとって最適な解決策は

heroku pg:reset -r heroku  --confirm your_heroku_app_name

- あなたのheroku_app_nameを確認してください

必須ではありませんが、端末は常にそのコマンドを実行するように要求します。

そのコマンドの後、あなたは構造ともののない純粋なdbになるでしょう、その後あなたは実行することができます

heroku run rake db:schema:load -r heroku

または

heroku run rake db:migrate -r heroku
0
Dmitriy Gusev

私はいつもこれをワンライナーの 'heroku pg:reset DATABASE'でやっています。

0
Mark Locklear