Laravel-permission executes migrate report database creation error

< H1 > laravel-permission failed to continue running due to an error while creating the data table-sharp-sharp title text < / H1 >
$tableNames = config("permission.table_names");

        Schema::create($tableNames["permissions"], function (Blueprint $table) {
            $table->increments("id");
            $table->string("name");
            $table->string("guard_name");
            $table->timestamps();
        });

        Schema::create($tableNames["roles"], function (Blueprint $table) {
            $table->increments("id");
            $table->string("name");
            $table->string("guard_name");
            $table->timestamps();
        });

        Schema::create($tableNames["model_has_permissions"], function (Blueprint $table) use ($tableNames) {
            $table->integer("permission_id")->unsigned();
            $table->morphs("model");

            $table->foreign("permission_id")
                ->references("id")
                ->on($tableNames["permissions"])
                ->onDelete("cascade");

            $table->primary(["permission_id", "model_id", "model_type"]);
        });

        Schema::create($tableNames["model_has_roles"], function (Blueprint $table) use ($tableNames) {
            $table->integer("role_id")->unsigned();
            $table->morphs("model");

            $table->foreign("role_id")
                ->references("id")
                ->on($tableNames["roles"])
                ->onDelete("cascade");

            $table->primary(["role_id", "model_id", "model_type"]);
        });

        Schema::create($tableNames["role_has_permissions"], function (Blueprint $table) use ($tableNames) {
            $table->integer("permission_id")->unsigned();
            $table->integer("role_id")->unsigned();
            $table->foreign("permission_id")
                ->references("id")
                ->on($tableNames["permissions"])
                ->onDelete("cascade");

            $table->foreign("role_id")
                ->references("id")
                ->on($tableNames["roles"])
                ->onDelete("cascade");

            $table->primary(["permission_id", "role_id"]);

            app("cache")->forget("spatie.permission.cache");
        });

the backup of the above error report is concentrated in unsigned and references. I haven"t changed anything about him.
my version is laravel5.5. The extended version is "spatie/laravel-permission": "^ 2.9"

.
Mar.02,2021
Menu