Колонки таблиц в миграциях Laravel
Давайте теперь научимся задавать колонки, которые будут в созданной таблице. Пусть у нас есть следующая миграция:
<?php
public function up(): void
{
Schema::create('posts', function (Blueprint $table) {
// table columns go here
});
}
?>
В коде миграции метод Schema::create
создает таблицу. Имя таблицы указывается
первым параметром. Вторым параметром передается
коллбэк, в который Laravel автоматически
передает объект с методами для создания
колонок.
Для колонок в миграции используют методы:
id - первичный ключ;
integer - целое число INTEGER;
string - строка VARCHAR;
text - длинный текст TEXT:
<?php
public function up(): void
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->integer('votes');
$table->string('name');
$table->text('text');
});
}
public function down(): void
{
Schema::dropIfExists('posts');
}
?>
Другие типы колонок - даты, логические значения, JSON и другие - разберем в отдельном разделе после миграций.
Сделайте миграцию, создающую таблицу со статьями. Пусть у неё будут поля с заголовком и текстом статьи.
Сделайте миграцию, создающую таблицу с юзерами. Пусть у неё будут поля с именем и фамилией.