概要
マイグレーションファイル作成した。
試しにマイグレーションするぞ!
$ php artisan migrate
Migrated: テーブル名
やったー動いた!resetの方も試そう。
$ php artisan migrate:reset
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'テーブル名' not found
・・・え?
オートローディングのクラスマップにマイグレーションファイルのディレクトリを追加する
{
--- 省略 ---
"autoload": {
"classmap": [
"database/migrations" これを追加
]
},
composer dump-autoload
いま追加したオートローディングの設定を元に「vendor/composer/autoload_classmap.php」を更新する。
$ composer dump-autoload
更新されれば「vendor/composer/autoload_classmap.php」に
'テーブル名' => $baseDir . '/database/migrations/テーブル名.php',
みたいなのが追加されるはず。これでClass not foundは解消される、はず。
$ php artisan migrate:reset
Rolled back: テーブル名
補足
オートローディングの設定の方は1度やれば良いんだけど、
$ composer dump-autoload
の方は当然マイグレーションファイルを追加するたびに必要になる。ちょっと面倒。なんかぐぐったらこれが面倒みたいなQiitaのドキュメントあった気がしたからもしかしたら良い方法があるのかもしれない。