NavanithanS

ask-laravel-mechanic

Laravel maintenance with Zero Data Loss policy, Mongo/SQL debugging.

NavanithanS 1 1 Updated 3mo ago

Resources

4
GitHub

Install

npx skillscat add navanithans/agent-skill-kit/ask-laravel-mechanic

Install via the SkillsCat registry.

SKILL.md
❌ NO `migrate:fresh` on prod/staging → destroys DB ❌ NO `db:seed` on prod → overwrites data ❌ NO `Model::truncate()` on prod without backup ❌ NO `migrate:reset` on prod ✅ MUST run `php artisan env` before dangerous commands ✅ MUST use `migrate --pretend` when unsure ✅ MUST restart queue after code deployment </critical_constraints> ✅ Allowed: `migrate` (forward only) ✅ Safe test: `migrate --pretend` (shows SQL without running) ✅ Cache clear: `optimize:clear` ✅ Queue restart: `queue:restart` (after deploy!) </safety_commands> ```php User::withTrashed()->find($id)->restore(); ``` </soft_delete_restore> ## Database Inspection - SQL: `php artisan model:show User` - Mongo: `php artisan tinker --execute="dump(App\Models\User::first()->getAttributes())"`

N+1 Prevention

// In AppServiceProvider::boot()
Model::preventLazyLoading(!app()->isProduction());

Common Errors

  • "member function on null" → Mongo relation with SQL syntax, check with()
  • "MongoDB... not found" → wrong namespace, check composer.json
```bash # Single channel tail -n 50 storage/logs/laravel.log

Daily channel

tail -n 50 storage/logs/laravel-$(date +%Y-%m-%d).log

Search with context

grep -C 5 "User ID 505" storage/logs/laravel.log


Keywords: local.ERROR, QueryException, ModelNotFound, MassAssignmentException
</log_analysis>

<queue_forensics>
- Status: `queue:monitor default`
- Failed: `queue:failed`
- Retry one: `queue:retry <UUID>`
- Flush all: `queue:flush` (careful!)
</queue_forensics>