Migration Laravel 5.3迁移外键约束格式不正确

Migration Laravel 5.3迁移外键约束格式不正确,migration,laravel-5.3,Migration,Laravel 5.3,我在运行迁移iv时遇到此问题“[Illumb\Database\QueryException] SQLSTATE[HY000]:一般错误:1005无法创建表projecto_app\sql-118c_1d(错误号:150“外键约束不正确 (SQL:alter tableparksadd constraintparks\u user\u id\u foreign外键(user\u id)在删除c时引用users(id) ascade“ 用户表正在创建第一个表第二个表正在创建公园 use Illum

我在运行迁移iv时遇到此问题“[Illumb\Database\QueryException] SQLSTATE[HY000]:一般错误:1005无法创建表
projecto_app
\sql-118c_1d
(错误号:150“外键约束不正确 (SQL:alter table
parks
add constraint
parks\u user\u id\u foreign
外键(
user\u id
)在删除c时引用
users
id
) ascade“

用户表正在创建第一个表第二个表正在创建公园

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

class CreateParksTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('parks', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('user_id');
            $table->string('name',100);
            $table->string('address',100);
            $table->string('post-code',6);
            $table->string('city',20);
            $table->timestamps();
            $table->softDeletes();
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
        });

    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('parks');
    }
}
文件名为: 2017年1月12日000000日创建用户表 2017年2月9日111834日创建公园表


因此,您可以看到用户表tkat have PK比需要FK user_的公园更早。

我希望您现在已经得到了答案。 对于仍在使用此解决方案的其他人,可能发生这种情况的原因之一是,在创建迁移时,文件会标记为创建日期2017\u 05\u 042553\u create\u parks\u table.php
在这种情况下,由于公园依赖于用户表,只需重命名用户,并将创建日期更改为公园表创建日期之前的任何日期。

我已将
Laravel
默认
用户
表名更改为
用户
。因此,在我在迁移文件中对其进行了更改之后,运行的
php artisan migrate
解决了我这方面的问题