Heroku : PostgresSql addonを使えるようにする
アドオンの追加
heroku addons:add heroku-postgresql
アドオンが有効になったか確認したい場合
heroku pg:wait
アドオン追加で、Heroku環境変数に、 DATABASE_URL
と HEROKU_POSTGRES_*COLOR*_URL
が追加されている。同じ値。
(COLOR部分は色の名前が割当てられている)
割り当てられた環境変数の値確認
全部の環境変数のキー:値を知りたい時
heroku config
キーがわかっているもののみ知りたい時
heroku config:get DATABASE_URL
Laravel用にHeroku環境変数をセットする
Database接続値を見極める
postgres://username:password@hostname:5432/database
- スキーマ : postgres
- ユーザー名 : username (//から:まで)
- パスワード : password (ユーザー名後の:から@まで)
- ホスト名 : hostname (パスワード後の@から:まで)
- ポート : 5432
- データベース名 : database (ポート後の/から最後まで)
それぞれLaravel5の環境変数値に割り当てる
- DB_HOST : hostname
- DB_USERNAME : username
- DB_PASSWORD : password
- DB_DATABASE : database
コマンドはこんな感じ。
heroku config:set DB_HOST=hostname
設定の確認
Laravelのマイグレーションやってみる。
one-off dynoでマイグレーションを実行する。
heroku run "php artisan migrate:install"
エラーが出なければ大丈夫。(成功したときのメッセージ、コピっとくの忘れた・・)
マイグレーションの状態を確認。
heroku run "php artisan migrate:status"
HerokuのPostgreSqlに接続
同じホスト名に他の人のDatabaseも沢山あるので、自分のを指定して接続。
heroku pg:psql DATABASE_URL
※ DATABASE_URL
の所は、HEROKU_POSTGRES_*COLOR*_URL
でも良い。
PostgreSqlのテーブルを確認
テーブル一覧表示
DATABASE=> \d