noartem

laravel-migrations-and-factories

Safe database change patterns; when to modify vs add migrations; always pair models with migrations and factories; seeding guidance

noartem 11 Updated 7mo ago
GitHub

Install

npx skillscat add noartem/skills/laravel-migrations-and-factories

Install via the SkillsCat registry.

About this skill

We need to produce a 2-3 sentence plain-text summary, objective, factual, no marketing language, no superlatives, no calls to action. Must be at most 60 words. No quotes, no bullet points, no headings, no markdown. Just plain text. Summarize: skill provides safe database change patterns for Laravel: when to modify vs add migrations, pairing models with migrations and factories, seeding guidance. Problem: avoids unsafe migration edits, ensures testable schema changes, keeps factories efficient. Use when developing Laravel apps, managing schema changes, writing tests.

SKILL.md

Migrations and Factories

Keep schema changes safe, testable, and reversible.

Commands

php artisan make:model Post -mfc

# Run/rollback
php artisan migrate
php artisan migrate:rollback --step=1

# Fresh DB (dangerous; dev only)
php artisan migrate:fresh --seed

Rules

  • Pair each new model with a migration and a factory
  • If a migration was merged to main, never edit it—add a new one
  • On feature branches, you may amend migrations created on that branch (if not merged)
  • Seed realistic but minimal datasets in seeder classes; keep huge datasets external

Factories

  • Prefer state modifiers (e.g., ->state([...])) over boolean flags
  • Use relationships (e.g., belongsTo) in factories to build realistic graphs
  • Keep factories fast; move expensive setup to seeds where possible

Testing

  • Use factories in tests; avoid manual inserts
  • For integration tests touching DB, use transactions or RefreshDatabase