前提として
・HerokuはPostgreSQLを使用しているため、もし”gemfil”の”group :development do”配下でPostgreSQL以外を設定している場合はDBが使用出来ないので、注意下さい。
※例えば、”gemfil”の”group :development do” 配下に ”sqlite” を設定しまっている場合など。この場合は、”group :development, :test do”配下に移動するなど設定変更が必要。”gemfil”を変更したら、忘れず bundle install
か bundle update
を実行して下さい。
参考にした記事
1. まず、HerokuとGitリポジトリを紐付ける
2. Heroku PostgresをRailsアプリで利用する手順(Rails)
1. まず、ログイン
% heroku login
2. Gitリポジトリとherokuが紐付けされているか確認
下記のコマンドでリポジトリ一覧にDBの設定をしたいherokuが表示されていない場合は次の手順 3. GitリポジトリとHerokuを紐付ける で紐付けを行います。
% git remote -v
originhttps://github.com/〜〜省略〜〜〜.git (fetch)
originhttps://github.com/〜〜省略〜〜〜.git (push)
3. GitリポジトリとHerokuを紐付ける。
※<>はコマンドではありません。
※アプリ名を忘れてしまった人はHerokuのWebブラウザからも確認できます。
% heroku git:remote -a <紐付けたいherokuのアプリ名>
4. HerokuのDBのURLが紐づいているか確認。
heroku config
コマンドでDATABASE_URLを確認する。
※URL設定が出来ていれば、下記のような表示がされると思います。
% heroku config
=== <アプリ名> Config Vars
DATABASE_URL: postgres://<URL>
LANG: en_US.UTF-8
RACK_ENV: staging
RAILS_ENV: production
RAILS_LOG_TO_STDOUT: enabled
RAILS_SERVE_STATIC_FILES: enabled
SECRET_KEY_BASE: <省略>
Railsの「config/database.yml」というファイルで、HerokuのDBのURLを設定することで、アプリとHerokuのDBとが紐付されるようです。
5. デプロイしたアプリでマイグレーションを実施
% heroku run rake db:migrate
この後、HerokuのWeb画面からGUi操作で手動デプロイしてDBにアクセスした画面表示が可能になりました。
ちなみに、"git push"したら自動でデプロイ出来るようにHerokuで設定できるので、設定しておくとコマンド操作が省略出来るので楽です。