モヒカンは正義

渋谷で働く怪しいWebエンジニアの生きた証と備忘録

Laravel tinkerで、DBへつながっていることを確認する

f:id:pinkumohikan:20180503165946p:plain

Laravel tinkerからデータベースへつながっていること (SQLを発行出来る状態になっていること) を確認したい!そんなとき

コマンド

DB::select('select 1');

実行するとこんな感じ

>>> DB::select('select 1');
=> [
     {#2300
       +"1": 1,
     },
   ]

赤くハイライトされたエラーが出なければ問題🍆

エラー例

下記のようなエラーが出たら、何かがおかしいので直す

>>> DB::select('select 1');
Illuminate/Database/QueryException with message 'SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name does not resolve (SQL: select 1)'

-> DBのホスト名が間違っている。

>>> DB::select('select 1');
Illuminate/Database/QueryException with message 'SQLSTATE[HY000] [2002] Connection refused (SQL: select 1)'

-> DBサーバが起動していない or ファイアウォールの設定が足りない or DBのポート番号が間違っている

>>> DB::select('select 1');
Illuminate/Database/QueryException with message 'SQLSTATE[HY000] [1044] Access denied for user 'some-db-user'@'%' to database 'some-database' (SQL: select 1)'

-> DBのID/Passが間違っている or 権限がない or データベースが存在しない