Laravel | Ошибка MySQL, когда я запускаю команду php artisan migrate - PullRequest
0 голосов
/ 15 сентября 2018

Я об установке Консьерж - Laravel 5.x

Чтобы использовать его в простом бронировании аренды автомобиля с проверкой вручную и подтверждением

после установки, добавлением провайдерови поставщик публикации

я получаю эту ошибку при переносе базы данных:

Подсветка \ База данных \ QueryException: SQLSTATE [42000]: Синтаксическая ошибка или нарушение прав доступа: 1064 Ошибка вваш синтаксис SQL;проверьте руководство, соответствующее вашей версии MySQL-сервера f или правильный синтаксис для использования рядом с 'после id, deleted_at отметка времени нулевая, created_at отметка времени нулевая, updated_a' at line 1 (SQL: create table услуги ( идентификатор int unsigned not null auto_increment p rimary key, business_id int unsigned not null, slug varchar(255) not null, name varchar(255) not null, duration int unsigned not null default '60', описание varchar(255) not null, prere quisites varchar(255) null, color varchar(12) null, type_id int unsigned null after id , selected_at timestamp null, создал_at timestamp null, updated_at` отметка времени ноль) набор символов по умолчаниюutf8mb4 collate 'utf8mb4_unicode_ci')

миграция:

Schema::create('services', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('business_id')->unsigned();
            $table->foreign('business_id')->references('id')->on('businesses')->onDelete('cascade');
            $table->string('slug');
            $table->string('name');
            $table->integer('duration')->unsigned()->default(60);
            $table->string('description');
            $table->string('prerequisites')->nullable();
            $table->string('color', 12)->nullable();
            $table->integer('type_id')->unsigned()->nullable()->after('id');
            $table->foreign('type_id')->references('id')->on('service_types')->onDelete('cascade');
            $table->softDeletes();
            $table->Timestamps();

            $table->unique(['business_id', 'slug']);
        });

1 Ответ

0 голосов
/ 15 сентября 2018

Проблема в после метода, который вы вызываете

после метод предназначен для модификаторов столбцов

Пример: , когда вам нужно изменить службы таблиц, тогда это будет работать так. но если вы создаете таблицу, то это не обязательно. вы можете сериализовать атрибуты при их записи в файл миграции.

Schema::table('services', function (Blueprint $table) {
     $table->integer('type_id')->unsigned()->nullable()->after('id');
});

Так что в вашем коде это должно быть так:

Schema::create('services', function (Blueprint $table) {
            $table->increments('id');
            $table->integer('type_id')->unsigned()->nullable();
            $table->integer('business_id')->unsigned();
            $table->foreign('business_id')->references('id')->on('businesses')->onDelete('cascade');
            $table->string('slug');
            $table->string('name');
            $table->integer('duration')->unsigned()->default(60);
            $table->string('description');
            $table->string('prerequisites')->nullable();
            $table->string('color', 12)->nullable();
            $table->foreign('type_id')->references('id')->on('service_types')->onDelete('cascade');
            $table->softDeletes();
            $table->Timestamps();

            $table->unique(['business_id', 'slug']);
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...