前回プロジェクトの立ち上げとsailでコンテナを立ち上げるとこまでやったので、とりあえずなんかスキャフォールドしてみます。
公式ドキュメントのスターターキットに書いてあるLaravel Breezeを使っていきます。
前提
適当にプロジェクトを作っておきます。もうある場合はそれでOK。
curl -s https://laravel.build/example-app | bash
cd example-app
sail upをしてコンテナを起動。
vendor/bin/sail up
マイグレート
マイグレーションファイルを実行してテーブルを作ってもらいます。
マイグレートとはMysqlを直接操作するのではなく、Laravelから操作して管理しようってやつです。./database/migrations
/の中に実行するファイルがあります。
公式ドキュメントにはphp artisan migrateを実行するって書いてあるんですが、コンテナ内だとMysqlに接続できないやらPHPのバージョンが違うやらのエラーが出るので、sailを使ってコンテナ内のPHPを動かせる(?)シェルを呼び出します。
vendor/bin/sail shell
あとは
php artisan migrate
でマイグレートできます。
sail
どういう仕組みになっているのかよくわかりませんが、コンテナ内のPHPを実行したいときはsailを使うようです。
マイグレーションの実行は
vendor/bin/sail artisan migrate
でも可能です。
一回一回パスをたどるのが面倒なのでエイリアスを設定しておくのがオススメです。
alias sail='vendor/bin/sail'
これで
sail artisan migrate
と書けます。
artisanはこれから死ぬほど使う感じです。アルチザンって読むらしいです。
Breezeのインストールからスキャフォールドまで
sail shell
でシェルを起動して
php artisan breeze:install
npm install
npm run dev
php artisan migrate
を実行します。
なんで急にnpmが出てくるのかわかりませんがアプリケーションのCSSを利用できるようにアセットをコンパイルするらしいです。
これで”localhost/register”や”localhost/login”にアクセスできるようになった筈です。
お疲れさまでした
BreezeはほかにもVueやReact版のスキャフォールドもできるようですが、いずれ触ってみたいと思います。
php artisan breeze:install vue
php artisan breeze:install react
コメント