-
-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathGenerateSeederCommand.php
More file actions
44 lines (33 loc) · 1.08 KB
/
GenerateSeederCommand.php
File metadata and controls
44 lines (33 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
declare(strict_types=1);
namespace Bow\Console\Command\Generator;
use Bow\Console\AbstractCommand;
use Bow\Console\Generator;
use Bow\Console\Traits\ConsoleTrait;
use Bow\Support\Str;
class GenerateSeederCommand extends AbstractCommand
{
use ConsoleTrait;
/**
* Create a seeder
*
* @param string $seeder
*/
public function run(string $seeder): void
{
$create_at = date("YmdHis");
$class_name = sprintf("%s%s", ucfirst(Str::camel($seeder)), $create_at);
$filename = sprintf("%s-%s", $create_at, $seeder);
$generator = new Generator(
$this->setting->getSeederDirectory(),
$filename
);
if ($generator->fileExists()) {
echo "\033[0;31mThe seeder {$this->setting->getSeederDirectory()}/{$filename}.php already exists.\033[00m";
exit(1);
}
$generator->write('seeder', ['className' => $class_name]);
echo "\033[0;32mThe seeder {$this->setting->getSeederDirectory()}/{$filename}.php has been created.\033[00m\n";
exit(0);
}
}