Полный цикл в digital

Модификаторы полей миграции

При создании и изменении полей мы можем не только задавать им тип, но и указывать некоторые модификаторы.

Обнуляемость

С помощью метода nullable можно сделать столбец обнуляемым:

database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->string('desc')->nullable();
        });
    }

    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

Можно задавать модификатор не только при создании поля, но и при его изменении:

database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
    public function up()
    {
        Schema::table('posts', function (Blueprint $table) {
            $table->string('desc')->nullable()->change();
        });
    }

    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

Значение по умолчанию

С помощью метода default можно указать для поля значение по умолчанию:

database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->string('desc')->default('some value');
        });
    }

    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

Значение по умолчанию NULL

Если использовать метод nullable() для поля, это поле по умолчанию будет иметь значение NULL:

database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->string('desc')->nullable();
        });
    }

    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

Комментарии

С помощью метода comment можно добавлять комментарии к столбцам:

database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->string('desc')->comment('my comment');
        });
    }

    public function down()
    {
        Schema::dropIfExists('posts');
    }
}

Безнаковость

С помощью метода unsigned можно сделать поле типа integer беззнаковыми UNSIGNED:

database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->integer('vote')->unsigned();
        });
    }

    public function down()
    {
        Schema::dropIfExists('posts');
    }
}
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг