Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Superseeder Laravel Package

riftweb/superseeder

View on GitHub
Deep Wiki
Context7

SuperSeeder 🚀

Latest Version Total Downloads License Website

A robust database seeder solution for Laravel with execution tracking and rollback capabilities. Brings migration-like behavior to your seeders! 🔄

Features ✨

  • ✅ Track executed seeders in seeder_executions table
  • ⏮️ Rollback seeders like migrations
  • 🛡️ Prevent accidental duplicate executions
  • 🔄 Batch management of seeders
  • 🚦 Bypass mode for emergency executions
  • 🚀 Generator command for trackable seeders

Installation 💻

Install via Composer:

composer require riftweb/superseeder

Run migrations (creates seeder_executions table):

php artisan migrate

Usage 🛠️

1. Create Trackable Seeder

php artisan make:superseeder UsersSeeder

2. Implement Seeder Logic

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Riftweb\SuperSeeder\Traits\TrackableSeed;

class UsersSeeder extends Seeder
{
    use TrackableSeed;

    public function up()
    {
        // Your seeder logic
    }

    public function down(): void
    {
        // Your rollback logic
    }
}

3. Run Seeders

php artisan superseed

4. Rollback Last Batch

php artisan superseed:rollback

Configuration ⚙️

Bypass Mode

Add to .env:

SUPERSEED_BYPASS=true

What it does:

  • When enabled, runs seeders regardless if they have been executed before (use with caution)
  • DOES create records in seeder_executions
  • Alternative: Use --force flag with superseed command

How It Works 🔍

  1. Tracking Table
    The package creates a seeder_executions table to track:

    • Seeder class name
    • Batch number
    • Execution timestamp
  2. Rollback Process

    • Calls down() method on each seeder
    • Deletes tracking records for the batch
    • Runs in reverse order of execution

Workflow Example 🔄

# 1. Create seeder
php artisan make:superseeder UsersSeeder

# 2. Implement up() and down() methods

# 3. Run seeders
php artisan superseed

# 4. Rollback
php artisan superseed:rollback

Commands 🛠️

Create trackable seeder
php artisan make:superseeder SeederName
Run seeders
php artisan superseed
Rollback seeders
php artisan superseed:rollback
Clear all seeder records
php artisan superseed:fresh
Clear all seeder records and rollback
php artisan superseed:clear

Important Notes ⚠️

  • Test rollbacks thoroughly before production use
  • Backup database before running seeders

Contributing 🤝

Contributions are welcome! Please follow:

  1. Fork the repository
  2. Create your feature branch
  3. Commit changes
  4. Push to the branch
  5. Open a PR

License 📄

MIT License - See LICENSE for details.


Crafted with ❤️ by RIFT | Web Development

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jayeshmepani/jpl-moshier-ephemeris-php
elnasnato/laraliveui
labrodev/rest-sdk
sampaui/sampaui
babelqueue/php-sdk
facebook/capi-param-builder-php
babelqueue/symfony
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle