Safe database change patterns; when to modify vs add migrations; always pair models with migrations and factories; seeding guidance
Install
npx skillscat add noartem/skills/laravel-migrations-and-factories Install via the SkillsCat registry.
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.
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 --seedRules
- 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