TL;DR
- Artisanコマンドを実行している場所を確認しましょうというお話
php artisan migrate
でエラーが発生
テーブル作ろうと思い、php artisan migrate
コマンドを叩くと以下のエラーが発生
$ php artisan migrate
In Connection.php line 664:
(SQL: select * from information_schema.tables where table_schema = homestead and table_name = migrations)
In Connector.php line 67:
調べても何も出てこない
解決方法
- まずもってHomestead内でコマンドを実行していなかった
ただひたすらプロジェクトのディレクトリ内でコマンドを叩いていただけでした。
vagrant ssh
で中に入った後、artisanファイルがある場所でArtisanコマンドを実行したら普通に実行できました。
$ vagrant ssh
~~~~~~~~~~
vagrant@project:~/code$ php artisan migrate
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table
番外編 DBのポート番号を変更する
.env
ファイルのDB_PORT
をデフォルトの「3306」から「33060」に変更すると、
Homestead外からでもArtisanコマンドを実行することができます。
以下のポートが、Homestead環境へポートフォワードされています。
SSH: 2222 → フォワード先 22
ngrok UI: 4040 → フォワード先 4040
HTTP: 8000 → フォワード先 80
HTTPS: 44300 → フォワード先 443
MySQL: 33060 → フォワード先 3306
PostgreSQL: 54320 → フォワード先 5432
Mailhog: 8025 → フォワード先 8025
おわり
- とてもくだらないことで3時間くらい悩んでしまったのでした