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

Типы данных миграции

Давайте теперь научимся задавать колонки, которые будут в созданной таблице, пусть у нас есть следующая миграция:

database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
    public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            // тут задаются колонки таблицы
        });
    }

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

В коде миграции метод Schema::create создает таблицу. Имя таблицы указывается первым параметром, вторым параметром передается коллбэк в который Laravel автоматически передает объект с методами для создания столбцов. Давайте рассмотрим эти методы.

Id

Следующий метод создает поле с именем id, представляющее собой первичный ключ:

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

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

Первичный ключ

Следующий метод также создает первичный ключ, но позволяет задать имя колонке:

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

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

INTEGER

Следующий метод создает поле с указанным именем и типом INTEGER:

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

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

VARCHAR

Следующий метод создает поле с указанным именем и типом VARCHAR:

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

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

VARCHAR с указанием длины

Следующий метод создает поле с указанным именем, типом VARCHAR и заданной длиной:

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

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

TEXT

Следующий метод создает поле с указанным именем и типом TEXT:

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

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

DATE

Следующий метод создает поле с указанным именем и типом DATE:

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

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

DATETIME

Следующий метод создает поле с указанным именем и типом DATETIME:

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

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

TIMESTAMP

Следующий метод создает поле с указанным именем и типом TIMESTAMP:

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

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