LoginSignup
29
24

More than 5 years have passed since last update.

Laravel5 HerokuでPostgreSqlを使う設定

Posted at

Heroku : PostgresSql addonを使えるようにする

アドオンの追加

heroku addons:add heroku-postgresql

アドオンが有効になったか確認したい場合

heroku pg:wait

アドオン追加で、Heroku環境変数に、 DATABASE_URLHEROKU_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
29
24
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
29
24