У меня есть разработчик, который практически отказался от проекта. У меня есть код с сервера, и я пытаюсь заставить его работать в моей локальной среде. Я пытаюсь перенести его, но у меня все еще возникают проблемы со ссылками, я просмотрел сообщения и перепробовал все: от добавления disableForeignKeyConstraints (); в файл composer dump-autoload et c. Но все равно продолжайте получать
SQLSTATE [HY000]: Общая ошибка: 3780 Ссылка на столбец «user_id» и указанный столбец «id» в ограничении внешнего ключа «role_user_user_id_foreign» несовместимы. (SQL: изменить таблицу role_user
добавить ограничение role_user_user_id_foreign
ссылки на внешний ключ (user_id
) users
(id
) при каскаде удаления)
SQLSTATE [HY000]: общая ошибка: 3780 Ссылка на столбец user_id и столбец id ссылки в ограничении внешнего ключа role_user_user_id_foreign несовместимы.
Я увидел, что он несовместим, поэтому я попытался добавить unsigned (); к созданию пользователя, но по-прежнему нет кубика.
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateRoleUserTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::disableForeignKeyConstraints();
Schema::create('role_user', function (Blueprint $table) {
$table->increments('id')->unsigned();
$table->integer('role_id')->unsigned()->index();
$table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');
$table->integer('user_id')->unsigned()->index();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->timestamps();
});
Schema::enableForeignKeyConstraints();
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::disableForeignKeyConstraints();
Schema::dropIfExists('role_user');
Schema::enableForeignKeyConstraints();
}
}
и пользователь создает миграцию
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id')->unsigned();
$table->string('name')->unique();
$table->string('first_name')->nullable();
$table->string('last_name')->nullable();
$table->string('email')->unique()->nullable();
$table->string('password');
$table->rememberToken();
$table->boolean('activated')->default(false);
$table->string('token');
$table->ipAddress('signup_ip_address')->nullable();
$table->ipAddress('signup_confirmation_ip_address')->nullable();
$table->ipAddress('signup_sm_ip_address')->nullable();
$table->ipAddress('admin_ip_address')->nullable();
$table->ipAddress('updated_ip_address')->nullable();
$table->ipAddress('deleted_ip_address')->nullable();
$table->timestamps();
$table->softDeletes();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}