Длина строки в миграциях Laravel
Метод string создает поле
типа VARCHAR - строку
ограниченной длины. Если длину
не указать, Laravel подставит
значение по умолчанию.
На практике разным полям нужна разная длина. Для короткого кода страны хватит трёх символов, для заголовка статьи - больше. Длину задают вторым параметром:
<?php
$table->string('country', 3);
$table->string('title', 200);
?>
Поле country хранит не более
3 символов, title - не более 200.
Если попытаться записать более
длинную строку, база данных
вернет ошибку.
Пример миграции таблицы пользователей с полями разной длины:
<?php
public function up(): void
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name', 50);
$table->string('surname', 50);
$table->string('phone', 20);
});
}
?>
Выбирайте длину с запасом, но
без лишнего. Слишком большой
VARCHAR там, где хватило бы
короткого поля, занимает больше
места в индексах.
Создайте поле title
длиной 200 символов.
Какую длину вы бы задали для
поля email и почему?