josezenem/laravel-make-migration-pivot

Make Laravel pivot tables using the new Laravel 9 closure migrations.

1.2.0 2024-03-12 21:06 UTC

This package is auto-updated.

Last update: 2024-11-08 15:55:58 UTC


README

Latest Version on Packagist Check & fix styling Total Downloads

This will allow you to create pivot table migration files using the new Laravel 9 closure migration format by simply passing two models. Under the hood the system will inspect the two models to generate the pivot table and foreign key names.

php artisan make:pivot Category Blog

Will generate the following migration

return new class extends Migration {
    public function up()
    {
        Schema::create('blog_category', function (Blueprint $table) {
            $table->foreignIdFor(Blog::class)->constrained()->onDelete('cascade');
            $table->foreignIdFor(Category::class)->constrained()->onDelete('cascade');
            $table->primary(['blog_id', 'category_id']);

            $table->index('blog_id');
            $table->index('category_id');
        });
    }

Installation

You can install the package via composer:

composer require josezenem/laravel-make-migration-pivot

Usage

php artisan make:pivot Category Blog

Optionally, you can publish the stubs using

php artisan vendor:publish --tag="laravel-make-migration-pivot-stubs"

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.