Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 26.07.2023 21:12:20

Ошибка при создание миграции

Не могу разобраться, почему ошибка при создании миграции. Создаются только 2 таблицы migration и users.

Для создания миграции использовал терминал. Вбил команду php artisan make:model Post -m (для создания сразу и миграции, и модели к ней). Новые файлы создались.

В файле миграции код

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreatePostsTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->text('content');
            $table->string('image')->nullable();
            $table->unsignedBigInteger('likes')->nullable();
            $table->boolean('is_published')->default(1);
            $table->timestamps();
        });
    }

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

Запускаю команду php artisan migrate и мне выдается

Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table

   Illuminate\Database\QueryException 

  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))

  at D:\lessons\first_project\vendor\laravel\framework\src\Illuminate\Database\Connection.php:712
    708▕         // If an exception occurs when attempting to run a query, we'll format the error
    709▕         // message to include the bindings with SQL, which will make this exception a
    710▕         // lot more helpful to the developer instead of just the database's errors.
    711▕         catch (Exception $e) {
  ➜ 712▕             throw new QueryException(
    713▕                 $query, $this->prepareBindings($bindings), $e
    714▕             );
    715▕         }
    716▕     }

  1   D:\lessons\first_project\vendor\laravel\framework\src\Illuminate\Database\Connection.php:501
      PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes")

  2   D:\lessons\first_project\vendor\laravel\framework\src\Illuminate\Database\Connection.php:501
      PDOStatement::execute()

В итоге создаются 2 таблицы migrations и users. А нужная - не создается. Выполняю команду php artisan migrate:status и получаю

+------+-------------------------------------------------------+-------+
| Ran? | Migration                                             | Batch |
+------+-------------------------------------------------------+-------+
| No   | 2014_10_12_000000_create_users_table                  |       |
| No   | 2014_10_12_100000_create_password_resets_table        |       |
| No   | 2019_08_19_000000_create_failed_jobs_table            |       |
| No   | 2019_12_14_000001_create_personal_access_tokens_table |       |
| No   | 2023_05_26_173133_create_posts_table                  |       |
+------+-------------------------------------------------------+-------+

В таблицах тоже только 2 https://disk.yandex.ru/i/2G2lynz9ehI8hw

Не в сети

#2 27.07.2023 20:13:51

Re: Ошибка при создание миграции

помогите sad

Не в сети

#3 28.07.2023 19:36:47

Re: Ошибка при создание миграции

Не дождался помощи, проблему решил. Я не один с ней такой smile)

Если есть ошибка SQLSTATE[42S01] , то посмотрите видео youtube.com/watch?v=I5br8kzzNZg

Не в сети

Подвал раздела