Rails3+herokuで開発はsqlite3、heroku上はPostgreSQLを使う設定

heroku-logo-dark-300x100

herokuにデプロイするときに sqlite3のところでつまづいた。

以下ログ。

https://gist.github.com/daipresents/ba39482b0b774b1ef216fce79fbb8f72.js?file=gistfile1.txt

無料のherokuくんはPostgreSQLを貸してくれるので、PostgreSQLじゃないと怒られる。でも、勉強とかで使うだけならローカルにPostgreSQL入れるのは面倒臭い。そこで、Gemfileに以下のように記述すればローカルとherokuでDBを切り替えることができる。

https://gist.github.com/daipresents/ba39482b0b774b1ef216fce79fbb8f72.js?file=gistfile2.txt

環境によって使うGemを変えているだけ。

ただ、Using sqlite3 for development and PostgreSQL for Herokuに「この方法は強くおすすめしません」と書かれているように、問題発生時に切り分けを簡単にするため、開発とデプロイ先の環境を合わせておくことも大切。