PCS開発チーム

PCS開発チーム

Laravel11とVapor

Laravel10から11に更新はbootstrap/app.phpを変えるスリム化はしなくてもControllerを空にしたり不要なconfigファイルを削除してLaravel11に近付けることは可能。
configはデフォルト値が変わったりしてるので確認せずに削除すると壊れる。

config/database.phpDB_CONNECTIONmysqlからsqliteに変わっている。

'default' => env('DB_CONNECTION', 'sqlite'),

Sailを使っているローカルでは.envにDB_CONNECTION=mysqlがあるので影響ない。

しかしVaporにデプロイするとエラー。
Vaporが自動で設定する環境変数にDB_CONNECTIONがないのでデフォルトのsqliteでマイグレーション実行しようとしてデプロイ途中で失敗する。
Vapor内のプロジェクトごとの環境変数でDB_CONNECTION=mysqlを追加すれば解決。

DB_CONNECTION=mysql

キャッシュでもVaporで自動で設定されてる環境変数はCACHE_DRIVERだけどLaravel11はCACHE_STOREに変わった。これも追加。念のためCACHE_DRIVERも追加。

CACHE_DRIVER=dynamodb
CACHE_STORE=dynamodb

Vapor側で対応されれば解決するけどいつになるか分からないので自力で解決。

configファイルを削除したくなるけどLaravel10から更新した場合は触らず残したほうがいい。