Browse Source

development seeding

AVMG20 4 years ago
parent
commit
bf71c672a6

+ 33 - 0
database/factories/ProductFactory.php

@@ -0,0 +1,33 @@
+<?php
+
+namespace Database\Factories;
+
+use App\Models\Product;
+use Illuminate\Database\Eloquent\Factories\Factory;
+
+class ProductFactory extends Factory
+{
+    /**
+     * The name of the factory's corresponding model.
+     *
+     * @var string
+     */
+    protected $model = Product::class;
+
+    /**
+     * Define the model's default state.
+     *
+     * @return array
+     */
+    public function definition()
+    {
+        return [
+            'name' => $this->faker->name,
+            'description' => $this->faker->text(60),
+            'price' => $this->faker->numberBetween(0 , 1000),
+            'memory' => $this->faker->numberBetween(32 , 1024),
+            'disk' => $this->faker->numberBetween(500 , 5000),
+            'databases' => $this->faker->numberBetween(1 , 10)
+        ];
+    }
+}

+ 34 - 0
database/factories/ServerFactory.php

@@ -0,0 +1,34 @@
+<?php
+
+namespace Database\Factories;
+
+use App\Models\Product;
+use App\Models\Server;
+use Illuminate\Database\Eloquent\Factories\Factory;
+use Illuminate\Support\Str;
+
+class ServerFactory extends Factory
+{
+    /**
+     * The name of the factory's corresponding model.
+     *
+     * @var string
+     */
+    protected $model = Server::class;
+
+    /**
+     * Define the model's default state.
+     *
+     * @return array
+     */
+    public function definition()
+    {
+        return [
+            'name' => $this->faker->name,
+            'description' => $this->faker->text(60),
+            'identifier' => Str::random(30),
+            'pterodactyl_id' => $this->faker->numberBetween(1000000,1000000000),
+            'product_id' => Product::factory()
+        ];
+    }
+}

+ 3 - 1
database/factories/UserFactory.php

@@ -25,7 +25,9 @@ class UserFactory extends Factory
         return [
             'name' => $this->faker->name,
             'email' => $this->faker->unique()->safeEmail,
-            'email_verified_at' => now(),
+            'credits' => $this->faker->numberBetween(0,1500),
+            'last_seen' => $this->faker->dateTimeBetween(now(), '+30 days'),
+            'email_verified_at' => $this->faker->dateTimeBetween('-30 days', now()),
             'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
             'remember_token' => Str::random(10),
         ];

+ 1 - 0
database/seeders/DatabaseSeeder.php

@@ -2,6 +2,7 @@
 
 namespace Database\Seeders;
 
+use Database\Seeders\Seeds\ConfigurationSeeder;
 use Illuminate\Database\Seeder;
 
 class DatabaseSeeder extends Seeder

+ 21 - 0
database/seeders/DevelopmentSeeder.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace Database\Seeders;
+
+use Database\Seeders\Seeds\UserSeeder;
+use Illuminate\Database\Seeder;
+
+class DevelopmentSeeder extends Seeder
+{
+    /**
+     * Run the database seeds.
+     *
+     * @return void
+     */
+    public function run()
+    {
+        $this->call([
+            UserSeeder::class,
+        ]);
+    }
+}

+ 4 - 0
database/seeders/ExampleItemsSeeder.php

@@ -2,6 +2,10 @@
 
 namespace Database\Seeders;
 
+use Database\Seeders\Seeds\ProductSeeder;
+use Database\Seeders\Seeds\PaypalProductSeeder;
+use Database\Seeders\Seeds\ApplicationApiSeeder;
+use Database\Seeders\Seeds\UsefulLinksSeeder;
 use Illuminate\Database\Seeder;
 
 class ExampleItemsSeeder extends Seeder

+ 1 - 1
database/seeders/ApplicationApiSeeder.php → database/seeders/Seeds/ApplicationApiSeeder.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace Database\Seeders;
+namespace Database\Seeders\Seeds;
 
 use App\Models\ApplicationApi;
 use Illuminate\Database\Seeder;

+ 1 - 1
database/seeders/ConfigurationSeeder.php → database/seeders/Seeds/ConfigurationSeeder.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace Database\Seeders;
+namespace Database\Seeders\Seeds;
 
 use App\Models\Configuration;
 use Illuminate\Database\Seeder;

+ 1 - 1
database/seeders/PaypalProductSeeder.php → database/seeders/Seeds/PaypalProductSeeder.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace Database\Seeders;
+namespace Database\Seeders\Seeds;
 
 use App\Models\PaypalProduct;
 use Illuminate\Database\Seeder;

+ 1 - 1
database/seeders/ProductSeeder.php → database/seeders/Seeds/ProductSeeder.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace Database\Seeders;
+namespace Database\Seeders\Seeds;
 
 use App\Models\Product;
 use Illuminate\Database\Seeder;

+ 1 - 1
database/seeders/UsefulLinksSeeder.php → database/seeders/Seeds/UsefulLinksSeeder.php

@@ -1,6 +1,6 @@
 <?php
 
-namespace Database\Seeders;
+namespace Database\Seeders\Seeds;
 
 use App\Models\UsefulLink;
 use Illuminate\Database\Seeder;

+ 23 - 0
database/seeders/Seeds/UserSeeder.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace Database\Seeders\Seeds;
+
+use App\Models\Server;
+use App\Models\User;
+use Illuminate\Database\Seeder;
+
+class UserSeeder extends Seeder
+{
+    /**
+     * Run the database seeds.
+     *
+     * @return void
+     */
+    public function run()
+    {
+        User::factory()
+            ->count(10)
+            ->has(Server::factory()->count(rand(1,3)) , 'servers')
+            ->create();
+    }
+}