Я хочу добавить внешний ключ в таблицу пользователей. Все вроде нормально, но я получаю следующую ошибку.
SQLSTATE [HY000]: общая ошибка: 1005 Не удается создать таблицу
electro_service
. #sql-17d0_20
(номер ошибки: 150 "ограничение внешнего ключа
неправильно сформирован ") (SQL: изменить таблицу users
добавить ограничение
users_role_id_foreign
ссылки на внешние ключи (role_id
) roles
(id
) при удалении каскада).
Пользователи
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('role_id');
$table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
$table->string('name');
$table->string('mobile');
$table->string('code');
$table->string('email')->unique();
$table->tinyInteger('email_verified')->default(0);
$table->string('email_verification_token', 128)->nullable();
$table->string('image')->default('default.png');
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
Роли
public function up()
{
Schema::create('roles', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->tinyInteger('role')->default(0);
$table->string('slug')->unique();
$table->timestamps();
});
}
Скажите, пожалуйста, как я могу это исправить и где понадобятся изменения.