Developer documentation for the lightweight, PHP-FPM-oriented Bhitti framework.
Bhitti seeders are plain PHP files that return a closure. There is no base seeder class, seeder tracking table, or hidden execution graph.
php run create:seeder users
This creates:
database/seeders/users.seeder.php
Template:
<?php
declare(strict_types=1);
return static function (): void {
//
};
The command also registers the filename in database/seeders/database.seeder.php unless that filename already appears in the registry text.
The registry returns filenames directly, in execution order:
<?php
return [
'roles.seeder.php',
'users.seeder.php',
];
You can temporarily disable a registered seeder by commenting it out:
return [
'roles.seeder.php',
// 'users.seeder.php',
];
create:seeder preserves an existing commented entry; it does not uncomment or duplicate it.
<?php
declare(strict_types=1);
return static function (): void {
db()->table('roles')->updateOrInsert(
['name' => 'admin'],
['name' => 'admin']
);
};
Prefer idempotent seeders when the same seeder may be run more than once.
php run db:seed
Bhitti executes active entries in database.seeder.php from top to bottom.
php run db:seed --filename=users
or:
php run db:seed --filename=users.seeder.php
Direct execution does not require the seeder to be active in database.seeder.php.