Edited at

Heroku + MySQL + Rails + Mac とりあえず構築まで

More than 3 years have passed since last update.

タイトルの通り、構築までをざっくりと。

ドットインストールとかで見たのはPostgresだったので、MySQLで試してみました。

http://dotinstall.com/lessons/basic_heroku


herokuの準備

まず当然アカウントを作成している必要がある。

https://dashboard.heroku.com/

そしてheroku toolbeltをインストールします。

https://toolbelt.heroku.com/

これがないとherokuコマンドが使えない。

インストールしたらログインできるのか試す。


terminal

$ heroku login


アカウントを求められるのでログインする。

ログインできればherokuの準備は完了。


MySQLをインストールする

インストールしてください。

参考:http://qiita.com/hkusu/items/cda3e8461e7a46ecf25d


Railsのアプリを作成する

MySQLで使える様に作成する。

参考:http://qiita.com/itkrt2y/items/4ea5bfe90ca65e4a9ebd

$ rails new testapp -d mysql

$ cd testapp //ディレクトリを移動

よくわからないけどみんなやってるのtherubyracerのコメントアウトを外す。

あと、herokuでrailsを動かすために「rails_12factor」が必要なので追加する

#gem 'therubyracer', platforms: :ruby

gem 'therubyracer', platforms: :ruby

#追加
gem 'rails_12factor', group: :production

Gemfileを更新したらbundle install

bundle install


Procfileを作成する

heroku上で実行されるコマンドを書いておくファイルらしいです。

Railsのディレクトリ内でやってください。

$ vi Procfile

web: bundle exec rails server -p $PORT


gitとして初期化

Railsのディレクトリ内でやってください。

$ git init

$ git add .
$ git commit -m "initial commit."


Herokuにアプリを登録

 

コマンドラインでできます。

これでherokuのサーバ上にgitリポジトリが作られます。

同時に、公開URLとgitリポジトリのURLが生成されます。

$ heroku create

Creating app... done, stack is cedar-14
[herokuの公開URL] | [herokuのgitリポジトリ]


herokuにMySQLアドオンを追加

$ heroku addons:add cleardb:ignite

MySQLの設定(パスワードとか)を調べる

$ heroku config | grep CLEARDB_DATABASE_URL

CLEARDB_DATABASE_URL: mysql://[ユーザ名]:[パスワード]@[ホスト名]/[スキーマ名]?reconnect=true


herokuの環境変数を設定

heroku config:set DATABASE_URL='mysql2://[ユーザ名]:[パスワード]@[ホスト名]/[スキーマ名]?reconnect=true'

heroku config:set DATABASE_PASSWORD ='[パスワード]'


Scaffoldでもしましょう

$ rails g scaffold Text title:string body:text

$ rake db:create
$ rake db:migrate


RailsのDB接続設定を変えます。


config/database.yml(変更前)

production:

<<: *default
database: testapp_production
username: testapp
password: <%= ENV['TESTAPP_DATABASE_PASSWORD'] %>

さっき追加した環境変数の値を設定しましょう


config/database.yml(変更後)

production:

<<: *default
database: [スキーマ名]
username: [ユーザ名]
password: <%= ENV['DATABASE_PASSWORD'] %>

そしたらまたコミット

$ git add .

$ git commit -m "initial commit."


herokuにデプロイ

$ git push heroku master

$ heroku open


herokuにスキーマを作成する

http://xxxxxxxx.com/texts

$ heroku run rake db:create

$ heroku run rake db:migrate


ログを見たい時はこう

$ heroku logs --tail

あとはProcfileにどんなことを書けるのか調べてみたいです。

まだよくわかってないので…。