1 min read

Migrácie, schéma databázy a verzionovanie zmien

Ako navrhovať DB tabuľky cez migrácie bezpečne a tímovo udržateľne.

Migrácie sú základ tímovej spolupráce: každý vie reprodukovať schému DB bez ručných SQL skriptov. To je kľúčové pre vývoj aj produkčné deploye.

Vytvorenie migrácie

BASH
php artisan make:migration create_posts_table
PHP
Schema::create('posts', function (Blueprint $table) {
    $table->id();
    $table->string('title', 180);
    $table->string('slug')->unique();
    $table->text('content');
    $table->foreignId('user_id')->constrained()->cascadeOnDelete();
    $table->timestamps();
});

Spustenie a rollback

BASH
php artisan migrate
php artisan migrate:rollback

Používaj rollback pri vývoji často, aby si vedel, že migrácie sú reverzibilné.

Dôležité pravidlá

  • explicitné indexy a unique constraints,
  • konzistentné názvy stĺpcov,
  • foreign keys tam, kde to dáva doménovo zmysel.

Najčastejšie chyby

  • úprava starých migrácií po deployi,
  • chýbajúce indexy pri filtrovaní,
  • nullable stĺpce bez business dôvodu.

Mini úloha

  1. Vytvor tabuľky categories a posts.
  2. Prepoj ich cez foreign key.
  3. Over migrate:fresh --seed bez chyby.

Overenie v praxi

  • Spusť php artisan test a skontroluj, že zmena neotvorila regresiu.
  • Over kritický endpoint alebo flow priamo v prehliadači/HTTP klientovi.
  • Ak riešiš DB vrstvu, skontroluj aj SQL správanie (N+1, indexy, transakcie) cez logy/profiler.

Čo bude ďalej

V ďalšom článku sa presunieme na Eloquent modely a ich základné nastavenia.

Previous articleDockerfile vs Docker Compose: rozdiely a prvý stack
Back to article list