laravel-migrations

📁 fusengine/agents 📅 12 days ago
1
总安装量
1
周安装量
#49271
全站排名
安装命令
npx skills add https://github.com/fusengine/agents --skill laravel-migrations

Agent 安装分布

amp 1
antigravity 1
gemini-cli 1

Skill 文档

Laravel Migrations

Documentation

Database

Migration Template

<?php

declare(strict_types=1);

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    public function up(): void
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->foreignId('user_id')->constrained()->cascadeOnDelete();
            $table->string('title');
            $table->string('slug')->unique();
            $table->text('content');
            $table->string('status')->default('draft');
            $table->timestamp('published_at')->nullable();
            $table->timestamps();
            $table->softDeletes();

            $table->index(['status', 'published_at']);
        });
    }

    public function down(): void
    {
        Schema::dropIfExists('posts');
    }
};

Column Types

$table->string('name', 100);           // VARCHAR(100)
$table->text('description');           // TEXT
$table->integer('count');              // INT
$table->decimal('price', 8, 2);        // DECIMAL(8,2)
$table->boolean('is_active');          // BOOLEAN
$table->json('metadata');              // JSON
$table->timestamps();                  // created_at, updated_at
$table->softDeletes();                 // deleted_at

Foreign Keys

$table->foreignId('user_id')->constrained()->cascadeOnDelete();
$table->foreignId('author_id')->constrained('users')->nullOnDelete();

Seeder

<?php

declare(strict_types=1);

namespace Database\Seeders;

final class PostSeeder extends Seeder
{
    public function run(): void
    {
        User::factory()->count(10)->create()->each(function (User $user) {
            Post::factory()->count(5)->for($user)->create();
        });
    }
}

Commands

php artisan make:migration create_posts_table
php artisan migrate
php artisan migrate:fresh --seed
php artisan migrate:rollback --step=3