[Rails][Heroku] Herokuで強制的にdb:migrateをやり直す。その2
http://d.hatena.ne.jp/shunsuk/20110322/1300794096
このブログでHerokuのデータベース(標準のpostgres)を最初からつくり直す方法として、migrationにSTEPオプションを渡す方法が紹介されています。
migrateにそんなオプションがあったとは知りませんでした。
僕は、いつも以下のやり方でやっています。
$ heroku pg:reset --db SHARED_DATABASE_URL --app manga-dojo-staging Resetting SHARED_DATABASE_URL (DATABASE_URL) ! WARNING: Potentially Destructive Action ! This command will affect the app: manga-dojo-staging ! To proceed, type "manga-dojo-staging" or re-run this command with --confirm manga-dojo-staging > manga-dojo-staging ... done $ heroku rake db:migrate --app manga-dojo-staging (in /app/4cf22428-1973-41f7-8768-8ffc509f1d65/home) Migrating to CreateMangas (20110220170208) == CreateMangas: migrating =================================================== -- create_table(:mangas) -> 0.0770s ....
HerokuではRails標準のrake db:resetは使えませんが、以下のコマンドでHerokuの標準のpostgresのDBをリセットすることができます。
$ heroku pg:reset --db SHARED_DATABASE_URL
実行後、確認のためプロンプトが表示されるのでアプリ名を入力しましょう。するとリセットが実行されます。
あとは、migrateを普通に実行するとOKです。
現在のgihyo.jpで好評(?)連載中の "Herokuで作るFacebookアプリ" の中で紹介したいと思っていたネタだったのですが、Tipsすぎでなかなかタイミングがなかったので調度良かったです。是非、連載も読んでみてね!
http://gihyo.jp/dev/serial/01/heroku
あっ、地震後初めてのブログでした。僕は元気です。