LoginSignup
1
4

More than 5 years have passed since last update.

【Laravel】migrate:resetとかmigrate:rollback時に「Class 'なんたらテーブル' not found」する場合の対処

Last updated at Posted at 2016-08-18

概要

マイグレーションファイル作成した。
試しにマイグレーションするぞ!

$ php artisan migrate
Migrated: テーブル名

やったー動いた!resetの方も試そう。

$ php artisan migrate:reset

[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'テーブル名' not found

・・・え?

オートローディングのクラスマップにマイグレーションファイルのディレクトリを追加する

ルート/composer.josn
{
  --- 省略 ---

  "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のドキュメントあった気がしたからもしかしたら良い方法があるのかもしれない。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4