Я хочу выполнить миграцию ACl в моем Laravel проекте ... (версия 6)
, но я получаю эту досадную ошибку:
Общая ошибка: 1005 Не могу создать table English Collage
. role_user
(Errno: 150 "Ограничение внешнего ключа сформировано неправильно") ")
Engli sh Коллаж - это моя база данных.
Schema::create('permissions', function (Blueprint $table) {
$table->increments('id');
$table->string('title_fa'); // edit posts
$table->string('title_en'); //edit-posts
$table->timestamps();
});
Schema::create('roles', function (Blueprint $table) {
$table->increments('id');
$table->string('title_fa'); // edit posts
$table->string('title_en'); //edit-posts
$table->timestamps();
});
Schema::create('role_user', function (Blueprint $table) {
$table->Integer('role_id')->unsigned();
$table->Integer('user_id')->unsigned();
$table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade')->onUpdate('cascade');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
});
Schema::create('permission_role', function (Blueprint $table) {
$table->unsignedInteger('permission_id');
$table->unsignedInteger('role_id');
$table->foreign('permission_id')->references('id')->on('permissions')->onDelete('cascade')->onUpdate('cascade');
$table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade')->onUpdate('cascade');
});
и это миграция моих пользователей:
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->string('image')->nullable();
$table->string('level')->nullable();
$table->integer('age')->nullable();
$table->rememberToken();
$table->timestamps();
});
эта структура работает в laravel 5, но laravel 6 имеет проблему с этим
я пробовал большое целое число и большое целое число без знака, даже если я тестировал primary_key для role_user