Не проходит миграция в Laravel

184
24 апреля 2019, 08:10

Создал миграцию, но кроме встроенных миграций (migration,user), другие не проходят. Удаляю, таблицы, провожу миграцию заново - та же ошибка.

После некоторых манипуляций (удаления таблиц и ввода migrate:install) появилась ошибка

 [Illuminate\Database\QueryException] 
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; 
   max key length is 767 bytes (SQL: alter table `users` add unique `users_email_uniq 
  ue`(`email`)) 
 
 
 
  [PDOException] 
  SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; 
   max key length is 767 bytes.

Answer 1

В Laravel c версии 5.4 изменены характеристики баз данных по умолчанию и в ранних варсиях mysql может появляться ошибка SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long

Чтобы исправить необходимо поправить файл AppServiceProvider.php

use Illuminate\Support\Facades\Schema; 
 
/** 
 * Bootstrap any application services. 
 * 
 * @return void 
 */ 
public function boot() 
{ 
    Schema::defaultStringLength(191); 
}

READ ALSO
Constexpr строки, создание из C-Style строки

Constexpr строки, создание из C-Style строки

Сначала дам собственно код:

161
Ошибка 6 в Overlapped WSARecv

Ошибка 6 в Overlapped WSARecv

Пишу новый сервер на IOCPВ потоке приёма новых подключений вызываю WSARecv (после успешного accept естественно)

181
Парсинг хэдэр файлов

Парсинг хэдэр файлов

Есть такая задача: пройтись по хэдэр файлу и записать в список все методы класса, определенные в хэдэре, при этом отделить чистые виртуальные,...

156
Зачем выделять память для переменных в стеке?

Зачем выделять память для переменных в стеке?

В теме еще разбираюсь плохо так что прошу строго не судить

195