Колонки таблиц в миграциях Laravel
Давайте теперь научимся задавать колонки, которые будут в созданной таблице. Пусть у нас есть следующая миграция:
<?php
public function up()
{
Schema::create('posts', function (Blueprint $table) {
// тут задаются колонки таблицы
});
}
?>
В коде миграции метод Schema::create создает таблицу. Имя таблицы указывается первым параметром. Вторым параметром передается коллбэк, в который Laravel автоматически передает объект с методами для создания колонок. Давайте рассмотрим эти методы.
Колонка Id
Следующий метод создает поле с именем id, представляющее собой первичный ключ:
<?php
$table->id();
?>
Первичный ключ
Следующий метод также создает первичный ключ, но позволяет задать имя колонке:
<?php
$table->increments('id');
?>
Тип INTEGER
Следующий метод создает поле с указанным именем и типом INTEGER:
<?php
$table->integer('votes');
?>
Тип VARCHAR
Следующий метод создает поле с указанным именем и типом VARCHAR:
<?php
$table->string('name');
?>
Тип VARCHAR с длиной
Следующий метод создает поле с указанным именем, типом VARCHAR и заданной длиной:
<?php
$table->string('name', 100);
?>
Тип TEXT
Следующий метод создает поле с указанным именем и типом TEXT:
<?php
$table->text('text');
?>
Тип DATE
Следующий метод создает поле с указанным именем и типом DATE:
<?php
$table->date('created_at');
?>
Тип DATETIME
Следующий метод создает поле с указанным именем и типом DATETIME:
<?php
$table->dateTime('created_at');
?>
Тип TIMESTAMP
Следующий метод создает поле с указанным именем и типом TIMESTAMP:
<?php
$table->timestamp('added_on');
?>