Колонка CHAR в миграциях Laravel
Метод string создает поле
VARCHAR переменной длины.
Метод char - поле CHAR
фиксированной длины. Длину
указывают вторым параметром:
<?php
$table->char('code', 3);
?>
Поле CHAR(3) всегда занимает
3 символа. Если строка короче,
база дополняет её пробелами.
Такой тип удобен для коротких
кодов фиксированного размера.
Пример миграции таблицы товаров с кодом валюты:
<?php
public function up(): void
{
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->decimal('price', 8, 2);
$table->char('currency', 3);
});
}
?>
Для кода валюты RUB, USD
или EUR char подходит
лучше, чем string: длина
всегда известна. Для обычных
имен и заголовков используйте
string.
Добавьте в таблицу поле
currency типа CHAR(3).
Чем char отличается
от string?