60
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?