Надеюсь, мой вопрос имеет смысл, поскольку я немного не понимаю, что мне делать.
Я клонировал проект laravel, и в папке уже есть около 20 миграций. Насколько я понимаю, миграции - это таблицы?
Я создал пустую базу данных mysql, которая связана с этим проектом laravel, в котором в настоящее время есть таблица migrations и таблица users.
Я думаю, что должен что-то сделать для создания таблиц, записанных в папке миграции в новой базе данных, но я не уверен, как это сделать.
До сих пор я использовал команду
php artisan migrate, который генерирует таблицы migrations и users и выдает эти ошибки.
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t oo long; max key length is 1000 bytes (SQL: alter table users add unique
users_email_unique(email))
[Doctrine\DBAL\Driver\PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t oo long; max key length is 1000 bytes
[PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t oo long; max key length is 1000 bytes
«максимальная длина ключа составляет 1000 байт» - Вы используете MyISAM?






Laravel 5.4 made a change to the default database character set, and it’s now utf8mb4 which includes support for storing emojis. This only affects new applications and as long as you are running MySQL v5.7.7 and higher you do not need to do anything.
Для тех, кто использует MariaDB или более старые версии MySQL, вы можете столкнуться с этой ошибкой при попытке выполнить миграцию:
[Освещение \ База данных \ QueryException] SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1071 Указанный ключ слишком длинный; максимальная длина ключа составляет 767 байт (SQL: alter table users добавляет уникальный users_email_unique (email))
[PDOException] SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1071 Указанный ключ слишком длинный; максимальная длина ключа 767 байт
Как указано в руководстве по миграции, чтобы исправить это, все, что вам нужно сделать, это отредактировать файл AppServiceProvider.php и внутри метода загрузки установить длину строки по умолчанию:
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
какую версию laravel вы используете?