2011-08-02 4 views
26

私はRORとHerokuを初めて利用しているので少し助けが必要です。私はアプリを作成し、それを配備しました。しかし、私はそれに関連するデータベースをクリアしたいと思います。意味私はこれまでに作成されたユーザー(およびその添付データ)をクリアしたいと思います。herokuプロダクションサイトのアプリデータベースをクリア

私は基本的に、本番サイトのデータベースが動作するかどうかをテストするためにいくつかの偽のアカウントを作成しましたが、これをクリアして新しいデータベースから始めたいと思います。

これはデータベース全体を完全に削除しないと可能でしょうか?

ご協力いただければ幸いです。あなたのお時間をありがとうございました!

答えて

52

heroku pg:reset DATABASEコマンドを使用すると、データベース全体をリセットできます。このコマンドは単にデータベースを削除して作成します。

heroku rake db:migrateを使用してテーブルを作成する必要があります。

また、rake db:resetコマンドをローカルで使用し、heroku db:pushを実行して運用データベースを更新することもできます。共有データベースのための

+5

いただき、誠にありがとうござい移行、あなたはまた、Herokuの '経由で直接任意のコマンドを実行することができます'heroku run rake db:reset' – asymmetric

+0

この回答は2013年のものです。下記の私の答えをご覧ください。 – CodeBiker

+0

コマンドheroku db:pushはheroku pgでなければなりません:push – rockusbacchus

1

はい、SQLメソッドを使用するか、コマンドラインからRailsコンソールを使用して@ users.destroy_allメソッドを呼び出すだけです。 This articleは、Herokuのコンソールの使い方を説明しています。

+1

私は現在、私のMac(localhost)にいます。 rake db:reset(localhost/staging db)を実行すると、テーブルとスキーマをクリアせずにすべてのデータがクリアされますか?もしそうなら、私はそのデータベースをheroku db:pushコマンドでherokuにプッシュしますか?それも効くだろうか? すくいデシベル:あなたは完全にドロップすると、あなたが行うことができ、DBを再作成する場合 –

+0

すくいデシベルをドロップ: – Turnkey

+0

は杉のスタック上にあなたの助け –

2

現在シーダー・スタックの適切な構文は次のとおりです。

heroku pg:reset SHARED_DATABASE my-database-name-1294 

(あなたのURLで.herokuapp.com前にあるものは何でもして、「私のデータベース名-1294」を交換してください)

----> Resetting SHARED_DATABASE (DATABASE_URL) 

! WARNING: Potentially Destructive Action 
! This command will affect the app: my-database-name-1294 
! To proceed, type "my-database-name-1294" or re-run this command with --confirm my-database-name-1294 

"my-database-name-1294"をそこに再入力すると、すべてがリセットされます。この貫通Herokuの上で私の

2

のいずれかのコマンドを実行します。

heroku rake db:reset 
//or:  
heroku run rake db:reset 

最初のものは古いもので、2番目は最新です。

9

ログインのために非常によく動作しSHARED_DATABASE --confirm APP_NAME

をリセットします怒鳴る

HerokuのPGのようなあなたのデータベース

実行をリセットするには

3

現在の方法は次のとおりです。

heroku pg:reset DATABASE_URL --confirm <APP_NAME> 
7

2013 way to do thisは次のとおりです。

コンソールでheroku pg:reset DATABASEを入力し、プロンプトが表示されたら、アプリの名前を入力します。これにより、テーブル、行、列、すべてのデータ、すべてがデータベース全体にドロップされます。

次に、heroku run rake db:migrateと入力します。これにより、同じテーブル、行、および列が作成されますが、オブジェクトデータは作成されません。

1

次の2台のサーバがある場合 - 生産とステージングを、そしてあなたは、生産から

heroku pg:reset DATABASE --remote staging 
heroku pgbackups:restore DATABASE URL_OF_DATABASE --remote staging 
heroku run rake db:migrate --remote staging 

URL_TO_DATABASEステージングにデータベースを追加する - ダンプ用AWSやDropboxのURLを。

これは私のために働いた!

7
heroku pg:reset DATABASE --confirm {app-name} 

heroku run rake db:migrate 

heroku run rake db:seed 
+1

これは私のDBをリセットして簡単に再作成するのに役立ちました。 –

関連する問題