Я хочу перенести миграцию acl в laravel, но я получил эту ошибку
ОШИБКА
150 "Неправильно сформировано ограничение внешнего ключа"
TABLE
public function up()
{
Schema::create('roles', function (Blueprint $table) {
$table->Increments('id');
$table->string('title_fa');
$table->string('title_en');
$table->timestamps();
});
Schema::create('permissions', function (Blueprint $table) {
$table->Increments('id');
$table->string('title_fa');
$table->string('title_en');
$table->timestamps();
});
Schema::create('role_user', function (Blueprint $table) {
$table->integer('role_id');
$table->integer('user_id');
$table->foreign('role_id')
->references('id')
->on('roles')
->onUpdate('cascade')
->onDelete('cascade');
$table->foreign('user_id')
->references('id')
->on('users')
->onUpdate('cascade')
->onDelete('cascade');
});
Schema::create('permission_role', function (Blueprint $table) {
$table->integer('permission_id');
$table->integer('role_id');
$table->foreign('permission_id')
->references('id')
->on('permissions')
->onUpdate('cascade')
->onDelete('cascade');
$table->foreign('role_id')
->references('id')
->on('roles')
->onUpdate('cascade')
->onDelete('cascade');
});
}
Я пытаюсь использовать unsign integer для идентификатора роли и пользователя id
и пробую:
$table->primary(['role_id','user_id']);
но это не для меня