File tree Expand file tree Collapse file tree 3 files changed +76
-0
lines changed Expand file tree Collapse file tree 3 files changed +76
-0
lines changed Original file line number Diff line number Diff line change @@ -44,6 +44,15 @@ public static function run($argv)
44
44
case 'make:model ' :
45
45
ModelCommand::make ($ argv );
46
46
break ;
47
+
48
+ case 'db:seed ' :
49
+ SeederCommand::runDatabaseSeeder ();
50
+ break ;
51
+
52
+ case 'db:seeder ' : // for specific seeder
53
+ SeederCommand::run ($ argv );
54
+ break ;
55
+
47
56
case 'generate:api-key ' :
48
57
ApiKey::generate ();
49
58
break ;
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace LaraCore \Framework \Console ;
4
+
5
+ use LaraCore \Database \Seeders \DatabaseSeeder ;
6
+ use LaraCore \Framework \Console \Log ;
7
+
8
+ class SeederCommand
9
+ {
10
+ public static function run ($ argv )
11
+ {
12
+ if (!isset ($ argv [2 ])) {
13
+ Log::warning ("Usage: php laracore db:seed <seeder> " );
14
+ exit (1 );
15
+ }
16
+
17
+ $ seeder = $ argv [2 ];
18
+ $ seeder = "LaraCore \\Database \\Seeders \\$ seeder " ;
19
+
20
+ if (!class_exists ($ seeder )) {
21
+ Log::warning ("Seeder $ seeder does not exist " );
22
+ exit (1 );
23
+ }
24
+
25
+ $ seeder = new $ seeder ();
26
+ $ seeder ->run ();
27
+ }
28
+
29
+ public static function runDatabaseSeeder ()
30
+ {
31
+ $ databaseSeeder = new DatabaseSeeder ();
32
+ $ databaseSeeder ->run ();
33
+
34
+ Log::info ("Database seeded successfully " );
35
+ }
36
+
37
+
38
+ }
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ namespace LaraCore \Framework \Seeders ;
4
+
5
+ abstract class Seeder
6
+ {
7
+ abstract public function run ();
8
+
9
+ public function call ($ seeder )
10
+ {
11
+ $ seeder = new $ seeder ();
12
+ $ seeder ->run ();
13
+ }
14
+
15
+ public function callMany ($ seeders )
16
+ {
17
+ foreach ($ seeders as $ seeder ) {
18
+ $ this ->call ($ seeder );
19
+ }
20
+ }
21
+ public function callOne ($ seeder )
22
+ {
23
+ $ this ->call ($ seeder );
24
+ }
25
+ public function callManyThrough ($ seeder )
26
+ {
27
+ $ this ->call ($ seeder );
28
+ }
29
+ }
You can’t perform that action at this time.
0 commit comments