LoginSignup
60
54

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-01-31

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

ドットインストールとかで見たのは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にスキーマを作成する

$ heroku run rake db:create
$ heroku run rake db:migrate

ログを見たい時はこう

$ heroku logs --tail

あとはProcfileにどんなことを書けるのか調べてみたいです。
まだよくわかってないので…。

60
54
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
54