はじめに
前回の作業↓
https://qiita.com/kuro_maru/items/aec4c1ac2911fe829f59
こちらの続きです。
今回は、laravel bleezeを使用してユーザー登録・ログイン機能を作成していきます。
ユーザー登録機能・ログイン機能
※以下記事の方法と一緒でlaravelbleezeを使用して作成しました。
https://qiita.com/kuro_maru/items/0b67edaf32230f91ae81
laravel 11.xになってから、デフォルトのDBが"MySQL"→"SQLite"に変更されていた。
今回、Dockerコンテナ内のDBにMySQLを作成し参照できるように設定を行う際に、いくつか変更点があったので以下にメモ📝
// デフォルトのDBをSQLiteからMySQLへ変更
'default' => env('DB_CONNECTION', 'mysql'),
.envファイルの編集とdocker-compose.ymlファイルの作成を行う。
※config/database.phpファイルは、.envファイルを参照するので、上記の箇所以外のMySQLへの設定は.envファイルで行う
// laravel blesezeを導入
composer require laravel/breeze --dev
// laravel bleezeをインストール
php artisan breeze:install
php artisan breeze:install
コマンドで、viewやその他の設定が選択できるようになってました。
// 依存関係のインストール(npmかyarnか)
npm install
yarn install
npm run dev
yarn run dev
// マイグレーションを作成
php artisan migrate
上記のマイグレーション作成コマンドで、ファイルの作成はされるのですがうまく読み込まれず、手動で作成したマイグレーションファイルを削除し、
php artisan migrate:reset
⇩
php artisan make:migration create_任意のテーブル名_table
⇩
php artisan migrate
※ここで、バイト数に関するエラーが複数出るので修正・再度実行
⇩
php artisan migrate:fresh
※設定を反映
このように動作させるまで、苦戦しましたが上記を行うことでMySQLを参照しなんとか問題なく動作するところまではいきました。
手動で削除し、再作成しなくてもいい方法はあると感じます・・。
SQLiteでは、上記のエラーは出ず、実行コマンドもスルスル通り動作していたので、こだわりがなければデフォルトのSQLiteのが早いかも?
何故SQLにするとバイト数オーバーに関するエラーが出るのかはまだ調査できていません。
これで、とりあえずユーザー登録・ログイン機能は作成できました。
※MySQLのバイト数オーバーに関するエラーは調査次第、また更新します。