mediumInteger
Метод mediumInteger применяется в миграциях Laravel для создания колонки с типом MEDIUMINT в базе данных. Этот тип занимает 3 байта и позволяет хранить целые числа в диапазоне от -8388608 до 8388607 для знаковых полей или от 0 до 16777215 для беззнаковых. Первым параметром передаётся имя колонки, вторым необязательным параметром - длина.
Синтаксис
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
Schema::create('table_name', function (Blueprint $table) {
$table->mediumInteger('column_name');
});
?>
Пример
Создадим миграцию для таблицы продуктов с полем для количества на складе:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateProductsTable extends Migration
{
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->mediumInteger('stock_quantity');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('products');
}
}
?>
Пример
Создадим беззнаковое поле для хранения больших положительных чисел с использованием метода unsigned:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateOrdersTable extends Migration
{
public function up()
{
Schema::create('orders', function (Blueprint $table) {
$table->id();
$table->unsignedMediumInteger('total_items');
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('orders');
}
}
?>
Пример
Добавим колонку с типом mediumInteger в существующую таблицу с помощью метода table:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddViewsCountToArticlesTable extends Migration
{
public function up()
{
Schema::table('articles', function (Blueprint $table) {
$table->mediumInteger('views_count')->default(0);
});
}
public function down()
{
Schema::table('articles', function (Blueprint $table) {
$table->dropColumn('views_count');
});
}
}
?>
Результат выполнения команды миграции:
"Migration completed successfully"
Смотрите также
-
метод
integer,
который создает поле с типом INT -
метод
tinyInteger,
который создает поле с типом TINYINT -
метод
smallInteger,
который создает поле с типом SMALLINT -
метод
bigInteger,
который создает поле с типом BIGINT