Laravel迁移错误

Blu*_*l20 0 migration laravel

我创建了一个新项目和一个新的新模式,使用Users表进行了非常简单的设置,并尝试运行迁移,但迁移器在第一个表上失败,当然这是Users表.我以前遇到过很多麻烦,详细介绍了我之前的问题,最后我从头开始.我有一个超级简单的设置,仍然是迁移器失败.有bug吗?我在哪里可以找到它?我应该将此报告为错误吗?对于那些试图采用这个平台的人来说,在这个过程的早期就像这样难倒,这真是一件令人沮丧的事情.我应该放弃迁移并使用sql脚本创建我的表并继续前进吗?

这是我得到的错误,非常类似于我在上一个问题中详述的错误:

"Class 'UsersTable' not found... in src\Illuminate\Database\Migrations\Migrator.php  line 297
Run Code Online (Sandbox Code Playgroud)

这是我的迁移文件:

<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;

class CreateUsersTable extends Migration {

/**
 * Run the migrations.
 *
 * @return void
 */
public function up()
{
    // Creates the users table
    Schema::create('users', function(Blueprint $table)
    {
       // $table->engine = 'InnoDB';

        $table->increments('id');

        $table->string('username', 40)
            ->nullable()
            ->default(null);

        $table->string('email', 40)
            ->unique();

        $table->string('password', 64);

        $table->smallInteger('acct_type')
            ->unsigned()
            ->default(1);

        $table->string('confirmation_code');

        $table->boolean('confirmed')
            ->default(false);

        $table->timestamps();

        $table->softDeletes();

    });

}

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

}
Run Code Online (Sandbox Code Playgroud)

失意.

J.T*_*mes 6

您的文件名可能存在问题.使用工匠生成迁移会生成格式的文件名year_month_day_time_class_name_separated_by_underscores.

Laravel用于从文件名中提取类名的代码

public function resolve($file)
{
    $file = implode('_', array_slice(explode('_', $file), 4));

    $class = studly_case($file);

    return new $class;
}
Run Code Online (Sandbox Code Playgroud)

array_slice(...,4)一点意味着Laravel 要求文件名在开头有四个下划线分隔的块,可以丢弃,文件名的其余部分是蛇案例类名.

不是我如何做的第一选择,但你去了.