回答:
データベースを削除するには、使用している場合SHARED_DATABASE_URL
:
$ heroku pg:reset DATABASE_URL
次に、何も含まれていないデータベースを再作成します。
$ heroku run rake db:migrate
データベースにシードデータを入力するには:
$ heroku run rake db:seed
---または---
これを実行することで、最後の2つ(migrate&seed)を1つのアクションに組み合わせることができます。
$ heroku run rake db:setup
2014-04-18を編集:rake db:setup
Rails 4では機能せず、Couldn't create database error
。
Edit 2014-10-09:rake db:setup
Rails 4で使用できます。Couldn't create database
エラーが発生します(データベースはheroku pg:reset
コマンドを使用して既に作成されているため)。ただし、エラーメッセージの後にデータベーススキーマとシードも読み込まれます。
ほぼすべてのrakeコマンドでこれを行うことができますが、例外があります。たとえば、ではdb:reset
機能しませんheroku run rake
。あなたが使用する必要がありますpg:reset
代わり。
詳細については、Herokuのドキュメントを参照してください。
SHARED_DATABASE_URL is deprecated, please use SHARED_DATABASE
heroku pg:reset DATABASE
heroku pg:reset DATABASE --confirm appname
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
SHARED_DATABASE
データベースを削除するには:
$ heroku pg:reset SHARED_DATABASE --confirm NAME_OF_THE_APP
データベースを再作成するには:
$ heroku run rake db:migrate
データベースをシードするには:
$ heroku run rake db:seed
**最終段階
$ heroku restart
heroku run rake db:migrate
データベースを再作成しなくなりました
現在、すなわち これを行う2017年の方法は次のとおりです。
heroku pg:reset DATABASE
https://devcenter.heroku.com/articles/heroku-postgresql#pg-reset
heroku run rake db:migrate db:seed
今のコマンドは
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
Herokuのサポートに問い合わせたところ、最新のgemのバグであることが確認されました(heroku-2.26.2を使用しています)。
チャーリー-「heroku」gemのこの問題を認識しており、修正に取り組んでいます。
あなたがフォローしたい場合の問題はここにあります- とおりです-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をアンインストールして、コマンドを再実行してください。喜び!
完全な答えは(マルチDBを持つユーザーのため)です。
heroku pg:info-出力
=== HEROKU_POSTGRESQL_RED <-これは 利用可能なDB
プランの基本
ステータスです
heroku pg:reset HEROKU_POSTGRESQL_RED-app_nameを確認します
詳細情報:https : //devcenter.heroku.com/articles/heroku-postgresql
これで、Webインターフェースからデータベースをリセットすることもできます。
dashboard.heroku.comに移動してアプリを選択すると、アドオンカテゴリの下にデータベースが表示されます。それをクリックして、データベースをリセットできます。
Herokuのバージョンを確認してください。私は次のように鉱山を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
次に、データベースを作成し、1つのコマンドでシードします。
heroku run rake db:setup
今すぐ再起動してアプリを試してください:
heroku restart
heroku open
Heroku Webサイトを使用する場合:
PostgreSQLデータベースをリセットして再設定する場合は、次のコマンドを使用します。
heroku apps
Herokuでアプリケーションを一覧表示します。現在のアプリケーションの名前を見つけます(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
コンソールからログインしている場合は、最新のherokuツールベルトでジョブが実行されます。
heroku pg:reset-データベース名の確認