尝试迁移文件,但不断获得:
(错误号:150“外键约束的格式不正确”)(SQL:更改表permission_role_permission_id_foreign
添加约束permission_id
外键(permissions
)引用id
({{1} })删除级联上)
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddForeignKeys extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
//
Schema::table('permission_role', function(Blueprint $table) {
$table->foreign('permission_id')->references('id')->on('permissions')->onDelete('cascade');
$table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
});
Schema::table('role_user', function(Blueprint $table){
$table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
答案 0 :(得分:0)
首先,您应该分离所有迁移。确保首先创建roles
,users
和permissions
表(每个表都应具有自己的迁移)。然后继续创建其他对象。
错误:150“外键约束的格式不正确”)(SQL:更改表permit_role添加约束permission_role_permission_id_foreign外键(permission_id)引用了删除级联上的许可权(id))
发生此错误是因为尚未创建permissions
表,因此您不能在外键中引用它。