Общая ошибка: 1005 Не удается создать таблицу `learning`.`users`

При переносе моей БД появляется эта ошибка, ниже мой код, за которым следует ошибка, которую я получаю при попытке запустить миграцию.

public function up()
{
    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->rememberToken();
        $table->timestamps();

        $table->string('first_name')->nullable();
        $table->string('last_name')->nullable();
        $table->string('city')->nullable();
        $table->unsignedBigInteger('role_id');
        $table->foreign('role_id')->references('id')->on('roles')->onDelete('cascade');

    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::dropIfExists('users');
}

1 ответ

Ошибка 1005 связана с внешним ключом. убедитесь, что у вас уже есть таблица ролей, иначе она будет запущена перед созданием таблицы пользователей на php artisan migrate, просто поместите файлы миграции ролей перед пользователями, отредактировав имя файла.

2019_12_07_000000_create_roles_table.php
2019_12_08_000000_create_users_table.php
Другие вопросы по тегам