У меня возникает эта ошибка при запуске:
php artisan migrate:fresh
Подсветка \ База данных \ QueryException: SQLSTATE [HY000]: Общая ошибка: 1 неизвестный столбец "user_id" в определении внешнего ключа (SQL:создать таблицу «users» («id» целое число не ноль автоинкремент первичного ключа, «name» varchar не ноль, «email» varchar not ноль, «username» varchar не ноль, «email_verified_at» datetime ноль, «пароль» varchar не ноль,"Remember_token" varchar null, "create_at" datetime null, "updated_at" datetime null, внешний ключ ("user_id") ссылается на "users" ("id") в каскаде удаления))
I 'Я следую видео-учебнику на YouTube, и код учебника таков:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateProfilesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('profiles', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->string('title')->nullable();
$table->text('description')->nullable();
$table->string('url')->nullable();
$table->string('image')->nullable();
$table->timestamps();
$table->index('user_id');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('profiles');
}
}
Если я скопирую и вставлю этот код, у меня будет ошибка.Поэтому я выполнил поиск по stackoverflow и нашел следующее решение:
public function up()
{
Schema::create('profiles', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->string('title')->nullable();
$table->text('description')->nullable();
$table->string('url')->nullable();
$table->string('image')->nullable();
$table->timestamps();
$table->index('user_id');
});
Schema::table('profiles', function (Blueprint $table){
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::disableForeignKeyConstraints();
Schema::dropIfExists('profiles');
}
Это моя таблица пользователей:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('name');
$table->string('email')->unique();
$table->string('username')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::disableForeignKeyConstraints();
Schema::dropIfExists('users');
}
Но сегодня, когда я запускаю php artisan migrate:fresh
, у меня была эта ошибкаеще раз.
Как я могу решить?
Спасибо