"Основы баз данных в Laravel: создание миграций и таблиц"

Андрей Игнатов
Игнатов Андрей
Founder & Techlead
11 мая 2026
28

Laravel предоставляет мощную систему работы с базами данных. С помощью migrations можно управлять структурой БД как кодом, а Eloquent ORM значительно упрощает взаимодействие с таблицами.

В этой статье разберём:

  • как работает Laravel database;
  • настройку MySQL и PostgreSQL;
  • создание migration;
  • создание таблиц;
  • rollback миграций;
  • schema builder.

Настройка базы данных Laravel

Laravel поддерживает:

  • MySQL;
  • PostgreSQL;
  • SQLite;
  • SQL Server.

Настройки находятся в .env.

Laravel MySQL

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Laravel PostgreSQL

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=laravel
DB_USERNAME=postgres
DB_PASSWORD=secret

Что такое Laravel Migration

Migration — это система версионирования структуры базы данных.

Laravel migration позволяет:

  • создавать таблицы;
  • изменять колонки;
  • удалять поля;
  • синхронизировать структуру БД между разработчиками.

Создание Migration

Команда:

php artisan make:migration create_posts_table

Laravel создаст файл в:

database/migrations

Создание таблицы

Пример migration:

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

Schema::create('posts', function (Blueprint $table) {

    $table->id();

    $table->string('title');

    $table->text('content');

    $table->timestamps();

});

Типы колонок в Laravel

Наиболее популярные:

$table->string('name');

$table->text('description');

$table->integer('views');

$table->boolean('is_active');

$table->json('settings');

$table->timestamp('published_at');

Запуск Migration

php artisan migrate

Rollback Migration

Отмена последней migration:

php artisan migrate:rollback

Полный сброс БД

php artisan migrate:fresh

или:

php artisan migrate:fresh --seed

Изменение таблиц

Создание migration:

php artisan make:migration add_slug_to_posts_table

Добавление колонки

Schema::table('posts', function (Blueprint $table) {

    $table->string('slug');

});

Удаление колонки

$table->dropColumn('slug');

Foreign Keys

Laravel поддерживает внешние ключи.

$table->foreignId('user_id')
    ->constrained()
    ->onDelete('cascade');

Лучшие практики Migration

Рекомендуется:

  • хранить структуру БД только через migration;
  • использовать foreign keys;
  • не редактировать старые migration в production;
  • разделять schema changes на небольшие migration.

Laravel Database и production

Для production рекомендуется:

  • использовать индексы;
  • оптимизировать запросы;
  • избегать лишних nullable полей;
  • правильно проектировать связи.

Итоги

Laravel migrations — фундамент работы с базой данных в Laravel.

С их помощью можно:

  • управлять schema;
  • автоматизировать развёртывание;
  • поддерживать структуру БД;
  • удобно работать с MySQL и PostgreSQL.

Это обязательный инструмент для любого Laravel-разработчика.

👉 Заказать бесплатный экспресс-аудит проекта

Задать вопрос

Если у вас возник технический вопрос по нашим статьям или появилась потребность в профессиональной разработке сложного веб-проекта — оставьте свои контакты. Техлид «Команды-А» свяжется с вами, чтобы проконсультировать и помочь найти оптимальное решение.

Нажимая кнопку, вы соглашаетесь с политикой обработки персональных данных.