一键导入
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 页面并帮你完成安装。
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.