Laravel Migration Scaffold Skill
Use this skill when creating database table definitions.
Rules
- Anonymous Classes
- Always use return new class extends Migration .
- Foreign Keys
-
Standard: Use foreignIdFor() constrained to the model class. $table->foreignIdFor(\App\Models\User::class)->constrained()->cascadeOnDelete();
-
Nullable: usage of ->nullable() comes before constrained() .
- ID and UUIDs
-
Check if the project or related models use UUIDs.
-
If UUID: $table->uuid('id')->primary();
-
If ID: $table->id();
- Indexing
- Add indexes to columns that will be frequently searched or used in WHERE clauses (e.g., slug , email , status ).
Workflow
-
Ask: "Does this table relate to existing models?"
-
If yes, check the parent model's ID type (int or uuid) to ensure the foreign key matches.
-
Write the migration file.