[Rails] Heroku標準のPostgreSQLへのdb:migrateをやり直す方法
- 2011 10/4
- カテゴリー : Ruby on Rails
- Heroku . PostgreSQL
- コメントを書く
Herokuで強制的にdb:migrateをやり直す方法を調べたのでメモ。
まず、HerokuではRails標準のrake db:resetは使えません。
代わりに、pg:resetコマンドで Herokuの標準のpostgresのDBをリセットすることができます。
$ heroku pg:reset --db SHARED_DATABASE_URL |
コマンド実行後、確認のためプロンプトが表示されるので、アプリ名を入力するとリセットが実行されます。
ちなみに、SHARED_DATABASE_URLは以下のコマンドで確認できます。
$ heroku console Ruby console for codenote.heroku.com >> ENV['DATABASE_URL'] => "postgres://username:[email protected]/dbname" |
・参考:Heroku | Dev Center | PostgreSQL
他にも、db:migrateをやり直す方法があり、VERSION=0 を指定することで最初にdb:migrateする前の初期状態に戻すことができます。
(最初にdb:migrateしたときのマイグレーションファイルが存在することが前提)
$ heroku rake db:migrate VERSION=0 |
また、db:migrate:redo で何回か前の状態(STEP=回数)に戻すこともできます。
$ heroku rake db:migrate:redo STEP=10 |
以上です。
【参考】
・[Rails][Heroku] Herokuで強制的にdb:migrateをやり直す。その2 – mat_akiの日記
・Herokuで強制的にdb:migrateをやり直す。 – このブログは証明できない。
・Ruby on Rails Guides: Migrations