بنقرة واحدة
database-migration
Panduan membuat migration, seeder, dan factory sesuai standar Laravel.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Panduan membuat migration, seeder, dan factory sesuai standar Laravel.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Workflow untuk fitur non-standar seperti Dashboard, Settings, User Management, atau Halaman Khusus.
Panduan refactor khusus Backend (Laravel)
Panduan refactor E2E test per modul menggunakan shared test factories, termasuk pertimbangan refactoring frontend/backend agar testing konsisten.
Panduan refactor khusus Frontend (React SPA)
Panduan membuat unit test, feature test, dan e2e test sesuai pola codebase.
Workflow untuk membuat fitur CRUD kompleks dengan relasi foreign key, filter multi-field, dan komponen frontend terpisah.
| name | Database Migration |
| description | Panduan membuat migration, seeder, dan factory sesuai standar Laravel. |
Gunakan skill ini untuk membuat atau memodifikasi struktur database dengan aman.
PENTING: Selalu gunakan MCP tools ini sebelum membuat perubahan!
| Tool | Fungsi |
|---|---|
mcp_laravel-boost_database-schema | Lihat schema existing (tabel, kolom, FK, index) |
mcp_laravel-boost_search-docs | Cari dokumentasi Laravel migrations |
mcp_laravel-boost_tinker | Verifikasi sample data atau test code snippet |
read_file | Baca file referensi existing |
# Sebelum buat migration, lihat schema existing:
mcp_laravel-boost_database-schema()
# Cari dokumentasi jika ragu:
mcp_laravel-boost_search-docs(queries: ["migration foreign key"])
# Verifikasi struktur tabel setelah migrate:
mcp_laravel-boost_database-schema(summary: true, filter: "products")
Apa yang perlu dilakukan?
│
├── Buat tabel baru ──────────────→ Migration + Model + Factory
├── Tambah kolom ke tabel ────────→ Migration (alter table)
├── Ubah struktur kolom ──────────→ Migration (modify column)
├── Hapus kolom/tabel ────────────→ Migration (drop) ⚠️ DESTRUCTIVE
├── Buat data awal ───────────────→ Seeder
└── Buat test data ───────────────→ Factory
// turbo-all
# Buat migration
./vendor/bin/sail artisan make:migration create_{features}_table
# Buat model dengan migration + factory
./vendor/bin/sail artisan make:model {Feature} -mf
# Run migrations
./vendor/bin/sail artisan migrate
# Rollback last migration
./vendor/bin/sail artisan migrate:rollback
| Tipe | Lokasi | Referensi Pattern |
|---|---|---|
| Migration | database/migrations/ | Ikuti pola *_create_employees_table.php |
| Model | app/Models/ | Ikuti pola Employee.php |
| Factory | database/factories/ | Ikuti pola EmployeeFactory.php |
| Seeder | database/seeders/ | Ikuti pola EmployeeSeeder.php |
TIP: Gunakan
read_fileuntuk baca file referensi, bukan template.
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->text('description')->nullable();
$table->decimal('price', 10, 2);
$table->foreignId('category_id')->constrained()->cascadeOnDelete();
$table->timestamps();
$table->index('name');
});
Schema::table('products', function (Blueprint $table) {
$table->string('sku')->after('name')->nullable();
});
Schema::table('products', function (Blueprint $table) {
$table->dropForeign(['category_id']); // Drop FK dulu
$table->dropColumn('category_id');
});
| Action | Syntax |
|---|---|
| Cascade delete | ->cascadeOnDelete() |
| Set null on delete | ->nullOnDelete() |
| Restrict delete | ->restrictOnDelete() |
migrate:fresh (hapus semua tabel)mcp_laravel-boost_database-schema sebelum buat migrationnullable() untuk kolom barumigrate:rollback lalu migrate lagi// turbo-all
# Run migrations
./vendor/bin/sail artisan migrate
# Check migration status
./vendor/bin/sail artisan migrate:status
# Test rollback
./vendor/bin/sail artisan migrate:rollback
./vendor/bin/sail artisan migrate
Setelah migrate, gunakan mcp_laravel-boost_database-schema(summary: true, filter: "{table}") untuk verifikasi struktur tabel.