Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

hughesy's avatar

Migration fatal error - even with dump-autoload

I'm having a problem with one of my tables when I migrate. I've tried many things, including starting from scratch by dropping the database and using composer dump-autoload, but I'm still getting an error message.

laravel@lamp ~/wwwroot$ php ../composer.phar dump-autoload 
You are running composer with xdebug enabled. This has a major impact on runtime performance. See https://getcomposer.org/xdebug
Generating autoload files

laravel@lamp ~/wwwroot$ php artisan migrate
Migration table created successfully.
PHP Fatal error:  Class 'CreateApprovalCalendarsListTable' not found in /home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php on line 324
PHP Stack trace:
PHP   1. {main}() /home/laravel/wwwroot/artisan:0
PHP   2. Illuminate\Foundation\Console\Kernel->handle() /home/laravel/wwwroot/artisan:36
PHP   3. Symfony\Component\Console\Application->run() /home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:100
PHP   4. Symfony\Component\Console\Application->doRun() /home/laravel/wwwroot/vendor/symfony/console/Application.php:126
PHP   5. Symfony\Component\Console\Application->doRunCommand() /home/laravel/wwwroot/vendor/symfony/console/Application.php:195
PHP   6. Illuminate\Console\Command->run() /home/laravel/wwwroot/vendor/symfony/console/Application.php:878
PHP   7. Symfony\Component\Console\Command\Command->run() /home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Console/Command.php:136
PHP   8. Illuminate\Console\Command->execute() /home/laravel/wwwroot/vendor/symfony/console/Command/Command.php:259
PHP   9. Illuminate\Container\Container->call() /home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Console/Command.php:150
PHP  10. call_user_func_array:{/home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Container/Container.php:502}() /home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Container/Container.php:502
PHP  11. Illuminate\Database\Console\Migrations\MigrateCommand->fire() /home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Container/Container.php:502
PHP  12. Illuminate\Database\Migrations\Migrator->run() /home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:74
PHP  13. Illuminate\Database\Migrations\Migrator->runMigrationList() /home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:85
PHP  14. Illuminate\Database\Migrations\Migrator->runUp() /home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:112
PHP  15. Illuminate\Database\Migrations\Migrator->resolve() /home/laravel/wwwroot/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php:129


                                                           
  [Symfony\Component\Debug\Exception\FatalErrorException]  
  Class 'CreateApprovalCalendarsListTable' not found       
                                                           


laravel@lamp ~/wwwroot$ 

The migration code for the table is:

<?php

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateApprovalCalendarListsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('approval_calendars_list', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('requestor_id')->unsigned();
            $table->integer('requestee_id')->unsigned();
            $table->string('title');
            $table->string('slug');
            $table->string('status');   //Sent,Viewed?,Denied,Approved
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('approval_calendars_list');
    }
}
0 likes
2 replies
hughesy's avatar
hughesy
OP
Best Answer
Level 6

Scratch that!

I realised that my class and the actual table name did not match:

class CreateApprovalCalendarListsTable

vs.

Schema::create('approval_calendars_list'

All good now.

1 like
danyellnoe's avatar

This is a good example of why I always use

artisan make:migration

rather than creating the migration by hand...

Please or to participate in this conversation.