Моя проблема довольно проста, но я не могу найти ответ на этот конкретный вопрос.
Дело в том, что у меня есть миграция в Laravel:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name')->unique();
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
//$table->string('guid');
$table->boolean('verified')->default('0');
$table->integer('tribe_id')->length(10)->unsigned()->default('1');
$table->boolean('admin')->default('0');
$table->rememberToken();
$table->timestamps();
});
Schema::table('users', function($table) {
$table->foreign('tribe_id')->references('id')->on('tribes')->onDelete('cascade');
});
}
Как видите, я прокомментировал одно поле. Но когда я удаляю // и запускаю миграцию (на чистой БД) и когда я пытаюсь выполнить вход в систему, он возвращает это:
lluminate \ Database \ QueryException (HY000)
SQLSTATE[HY000]: General error: 2057 A stored procedure returning result sets of different size was called. This is not supported by libmysql (SQL: select * from `users` where `email` = email@email.com limit 1)
Основная часть этого кода авторизации генерируется по умолчанию. Laravel artisan make: auth command.
Дело в том, что у меня уже есть несколько дополнительных полей, и это работает, но по какой-то причине, когда я добавляю новое 'guid' (или другое, неважно имя), оно нарушает то, что я пропустил. ..
РЕДАКТИРОВАТЬ: Это как-то связано с базой данных MySQL. Я изменил это с сервера Shared Hosting MariaDB на Google Cloud (5.7), и он работает ...
РЕДАКТИРОВАТЬ 2: Решил это, создав другую базу данных с другим именем (воссоздание с тем же именем не сработало), и он снова начал работать ...