😆
laravel DBからモデルファイルを自動生成
laravelで
データベースの情報をもとにモデルファイルを自動で作るライブラリを見つけたので使用方法について記載していきます。
一発で全てのテーブルのモデルファイルを作成することができますが、間違っていないか目視でも確認は必要です。
今回は
という記事を参考にしました。
まず最初に新規でプロジェクトを作成します。
laravelのバージョンは8にしてください。
9から上だとdoctrineとlaravelの互換性の問題でライブラリがうまく動作しないからです。
laravel8のプロジェクトを作成します。
composer create-project --prefer-dist laravel/laravel laravel_make_model "8.*"
ライブラリをインストール
composer require reliese/laravel --dev
modelのconfigファイルを作成
php artisan vendor:publish --tag=reliese-models
クリアコマンド
php artisan config:clear
composer.jsonのrequireに
"doctrine/dbal": "^2.12"
を追記
composer updateを実行してインストール
composer update
mysqlで接続できるデータベースのモデルファイルを一括生成
php artisan code:models --connection=mysql
モデルファイルを一括で生成できるがもう串で確認は必要です。
コマンド実行時に出そうなエラーも記載しておきます。
DB_CONNECTIONが異なる場合
Database connection [DB] not configured.
DB_PORTが異なる場合
SQLSTATE[HY000] [2002] Connection refused
DB_HOSTが異なる場合
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
DB_DATABASEが異なる場合
SQLSTATE[HY000] [1045] Access denied for user 'laravel_user'@'%' (using password: YES)
DB_USERNAMEが異なる場合
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
DB_PASSWORDが異なる場合
SQLSTATE[HY000] [1045] Access denied for user 'laravel_user'@'%'
Discussion