Laravel1 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
php artisan make:migration create_posts_tableSchema::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
php artisan migratephp artisan migrate:rollbackPouží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
- Vytvor tabuľky
categoriesaposts. - Prepoj ich cez foreign key.
- Over
migrate:fresh --seedbez chyby.
Overenie v praxi
- Spusť
php artisan testa 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.