Laravelのマイグレーション用にDoctrine DBALライブラリーをcomposer require doctrine/dbal
でインストールしたのにも関わらず、php artisan migrate
でエラーが出てしまった時の対処法です。
エラーが出たときの手順と原因
以下のようにしてLaravelのマイグレーション用にDoctrine DBALライブラリーをインストールしました。
composer require doctrine/dbal
そして、マイグレーションを実行するとエラーが出てしまいました。クラスが見つからないというエラーのようです。
php artisan migrate
Class 'Doctrine\DBAL\Driver\PDOMySql\Driver' not found
バージョン2.*系をインストールしてエラーを解決
バージョンを下げてもう一度composerからダウンロードします。
composer require "doctrine/dbal:2.*"
./composer.json has been updated
Running composer update doctrine/dbal
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 1 update, 1 removal
- Removing composer/package-versions-deprecated (1.11.99.2)
- Downgrading doctrine/dbal (3.1.1 => 2.13.2)
(...以下略)
そして、もう一度マイグレーションを実行します。
php artisan migrate
無事に成功しました。
Migrating: xxxx_xxxx_xxxx.php
Migrated: xxxx_xxxx_xxxx.php (0.35 seconds)
参考情報
以下のリンクを参考にエラーを解決しました。
[laravel] doctrine/dbalを入れたのに「Class ‘Doctrine\DBAL\Driver\PDOMySql\Driver’ not found」と言われる – Qiita