HerokuでRails4+MySql

ProgateRailsのお勉強も後半まで来たので、簡単でいいのでHerokuにデプロイをしてみたログです。

環境

OSX 10.11.2 (El Capitan)
Ruby 2.2.2
Rails 4.2.5.1

1. Herokuの設定

アカウント作成と設定だけは前にやってしまってたので・・内容覚えてなくて省略。

Herokuでアカウント作って、コマンドラインツール(Heroku toolbelt)もインストールします。

2. Railsアプリケーションの作成

MySQLを使いたいので--database=mysqlで作成。

$ rails new ./ --database=mysql --skip-bundle --skip-test-unit

Rubyのバージョン指定とHeroku利用時のおまじないをGemfileに追記。

ruby '2.2.2'

〜〜

group :production do
  gem 'rails_12factor'
end

Bundlerでインストール

$ bundle install

動作確認のために適当なscaffoldする。

$ rails g scaffold User name:string

DBの準備。

$ rake db:create
$ rake db:migrate

とりあえずローカルで走るようになりました。

$ rails s
# 動作確認できたら ctrl+cで止める

3. Gitに登録

初期化してコミット。

$ git init
$ git add .
$ git commit -m 'initial commit'

4. Herokuアプリケーションの作成

MySqlのAdd-ons利用にはクレジットカード登録が必要なので、事前にBillingページから登録します。
(カード登録はしますがフリープランを使います)

登録が終わったHerokuアプリケーションを作ります。

$ heroku create アプリ名

Add-ons(ClearDB)を追加します。

$ heroku addons:create cleardb:ignite
# igniteがフリープランです。

Railsに合わせてドライバを変更。

$ heroku config
CLEARDB_DATABASE_URL: mysql://ユーザー名:パスワード@ホスト/データベース名?reconnect=true

# mysqlをmysql2に変更してセット
$ heroku config:set DATABASE_URL='mysql2://ユーザー名:パスワード@ホスト/データベース名?reconnect=true'

5. デプロイ

$ git push heroku master

Heroku側のDB準備も忘れずに。

$ heroku run rake db:migrate

6. 公開されたアプリケーションの確認

最後にデプロイしたアプリケーションをブラウザで確認します。

$ heroku open

*indexページが無いのでエラーが出ると思いますので、scaffoldしたuser/で確認します。