如何解决:Class' AddSourceInClotureTable'在laravel 5.2中找不到

时间:2016-09-18 11:54:40

标签: php laravel laravel-5.2 artisan artisan-migrate

我在PHP 5.6.16服务器上使用Laravel 5.2.45。

当使用php artisan migrate:refresh / migrate:reset命令时,我收到此错误:

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

请注意,迁移和迁移:回滚正在运行。

我尝试使用googling(不是单个结果:AddSourceInClotureTable),并尝试使用composer update,composer dumpauto,cache:clear以及任何单个命令artisan都可以做到。

以下是我在项目中的单一迁移文件:

<?php

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

class CreateCommandTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('commands', function (Blueprint $table) {
            $table->increments('id');
            $table->integer("provider");
            $table->string("number")->unique();;
            $table->date("delivered_at");
            $table->date("ordered_at");
            $table->integer("buyer");
            $table->boolean("deliver_mode");
            $table->integer("payment");
            $table->timestamps();
        });
        Schema::create('payment', function (Blueprint $table) {
            $table->increments('id');
            $table->string("name");
            $table->timestamps();
        });
        Schema::create('transports', function (Blueprint $table) {
            $table->increments('id');
            $table->string("name", 255)->unique();
            $table->string("code", 255)->unique();
            $table->integer("carrier");
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('commands');
        Schema::drop('payment');
        Schema::drop('transports');
    }
}

这是我的composer.json

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*",
        "barryvdh/laravel-ide-helper": "^2.1",
        "laravelcollective/html": "5.2.*",
        "barryvdh/laravel-dompdf": "0.6.*",
        "caffeinated/flash": "~2.0"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "symfony/css-selector": "2.8.*|3.0.*",
        "symfony/dom-crawler": "2.8.*|3.0.*"
    },
    "autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ],
        "post-install-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postInstall",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postUpdate",
            "php artisan optimize"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

每执行composer dumpauto命令后,您应始终运行composer dump-autoload或别名migrate命令:

  

如果您收到未找到的课程&#34;运行迁移时出错,请尝试运行composer dump-autoload命令并重新发出migrate命令。

https://laravel.com/docs/5.2/migrations#running-migrations

答案 1 :(得分:0)

此项目与上一个项目重复,并且未重命名迁移表。人为错误。一旦给出新名称,所有错误都消失了。