From a461a23c4b4ba4475935c44dc26e3a0b0a379958 Mon Sep 17 00:00:00 2001 From: iridium34 Date: Sat, 15 Mar 2025 19:21:46 +0100 Subject: [PATCH 1/6] created Seeder for initial Database --- database/seeders/ColorSeeder.php | 38 +++++++++++++++++++++++++ database/seeders/DatabaseSeeder.php | 7 +++++ database/seeders/ManufacturerSeeder.php | 27 ++++++++++++++++++ 3 files changed, 72 insertions(+) create mode 100644 database/seeders/ColorSeeder.php create mode 100644 database/seeders/ManufacturerSeeder.php diff --git a/database/seeders/ColorSeeder.php b/database/seeders/ColorSeeder.php new file mode 100644 index 0000000..2fe0b0e --- /dev/null +++ b/database/seeders/ColorSeeder.php @@ -0,0 +1,38 @@ + 'Red', 'hex' => '#FF0000'], + ['name' => 'Green', 'hex' => '#00FF00'], + ['name' => 'Blue', 'hex' => '#0000FF'], + ['name' => 'Yellow', 'hex' => '#FFFF00'], + ['name' => 'Orange', 'hex' => '#FFA500'], + ['name' => 'Purple', 'hex' => '#800080'], + ['name' => 'Pink', 'hex' => '#FFC0CB'], + ['name' => 'Brown', 'hex' => '#A52A2A'], + ['name' => 'Gray', 'hex' => '#808080'], + ['name' => 'Black', 'hex' => '#000000'], + ['name' => 'White', 'hex' => '#FFFFFF'], + ['name' => 'Gold', 'hex' => '#FFD700'], + ['name' => 'Silver', 'hex' => '#C0C0C0'], + ['name' => 'Cyan', 'hex' => '#00FFFF'] + ]; + + foreach ($colors as $color) { + Color::create($color); + } + } +} diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index c5aa71f..9211282 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -5,6 +5,8 @@ namespace Database\Seeders; use App\Models\User; use Illuminate\Database\Seeder; use Illuminate\Database\Console\Seeds\WithoutModelEvents; +use Database\Seeders\ColorSeeder; +use Database\Seeders\ManufacturerSeeder; class DatabaseSeeder extends Seeder { @@ -14,6 +16,11 @@ class DatabaseSeeder extends Seeder public function run(): void { User::factory(10)->create(); + $this ->call( + ColorSeeder::class, + ManufacturerSeeder::class + ); + } } diff --git a/database/seeders/ManufacturerSeeder.php b/database/seeders/ManufacturerSeeder.php new file mode 100644 index 0000000..8773670 --- /dev/null +++ b/database/seeders/ManufacturerSeeder.php @@ -0,0 +1,27 @@ + 'Bambulab', 'description' => 'Bambulab is a manufacturer of high quality products.', 'website' => 'https://bambulab.com', 'logo' => 'https://example.com/bambulab-logo.png'] + + ]; + + foreach ($manufacturers as $manufacturer) { + Manufacturer::create($manufacturer); + } + + } +} From d925df623a0bb99cc74112e2233c8c6b8b38f954 Mon Sep 17 00:00:00 2001 From: iridium34 Date: Sat, 15 Mar 2025 19:48:37 +0100 Subject: [PATCH 2/6] created Buildplate & Extruder Model --- app/Models/Buildplate.php | 29 +++++++++++++++++++++++++++++ app/Models/Extruder.php | 26 ++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 app/Models/Buildplate.php create mode 100644 app/Models/Extruder.php diff --git a/app/Models/Buildplate.php b/app/Models/Buildplate.php new file mode 100644 index 0000000..132fa9f --- /dev/null +++ b/app/Models/Buildplate.php @@ -0,0 +1,29 @@ +hasMany(Filament::class); + } + + public function manufacturer() + { + return $this->belongsTo(Manufacturer::class); + } + +} diff --git a/app/Models/Extruder.php b/app/Models/Extruder.php new file mode 100644 index 0000000..37c7c06 --- /dev/null +++ b/app/Models/Extruder.php @@ -0,0 +1,26 @@ +belongsTo(Manufacturer::class); + } + +} From e9b18c94fc933493fa757ff048b7d1341951416d Mon Sep 17 00:00:00 2001 From: iridium34 Date: Sat, 15 Mar 2025 19:50:53 +0100 Subject: [PATCH 3/6] Updated Filament Model --- app/Models/Filament.php | 8 ++++- .../2025_03_10_183058_create_filaments.php | 7 +++++ ...7_add_filamentstock_to_filaments_table.php | 30 ------------------- 3 files changed, 14 insertions(+), 31 deletions(-) delete mode 100644 database/migrations/2025_03_11_112017_add_filamentstock_to_filaments_table.php diff --git a/app/Models/Filament.php b/app/Models/Filament.php index a15f183..caf5dca 100644 --- a/app/Models/Filament.php +++ b/app/Models/Filament.php @@ -19,7 +19,13 @@ class Filament extends Model 'weight', 'diameter', 'price', - 'stock' + 'finish', + 'image', + 'stock', + 'temp_min', + 'temp_max', + 'buildplate_id', + 'extruder_id' ]; // Filament belongs to a type diff --git a/database/migrations/2025_03_10_183058_create_filaments.php b/database/migrations/2025_03_10_183058_create_filaments.php index 2c6ca4c..fc36475 100644 --- a/database/migrations/2025_03_10_183058_create_filaments.php +++ b/database/migrations/2025_03_10_183058_create_filaments.php @@ -22,6 +22,13 @@ return new class extends Migration $table->string('weight')->required(); $table->string('diameter')->required(); $table->string('price')->nullable(); + $table->string('finish')->nullable(); + $table->string('image')->nullable(); + $table->integer('stock')->default(0); + $table->integer('temp_min')->nullable(); + $table->integer('temp_max')->nullable(); + $table->integer('buildplate_id')->nullable(); + $table->integer('extruder_id')->nullable(); }); } diff --git a/database/migrations/2025_03_11_112017_add_filamentstock_to_filaments_table.php b/database/migrations/2025_03_11_112017_add_filamentstock_to_filaments_table.php deleted file mode 100644 index 28ac742..0000000 --- a/database/migrations/2025_03_11_112017_add_filamentstock_to_filaments_table.php +++ /dev/null @@ -1,30 +0,0 @@ -integer('stock')->default(0); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::table('filaments', function (Blueprint $table) { - // removing stock from filaments table - $table->dropColumn('stock'); - }); - } -}; From e653fbf5fa53887fc6cea9431792f6f6ce418e7c Mon Sep 17 00:00:00 2001 From: iridium34 Date: Sat, 15 Mar 2025 20:05:27 +0100 Subject: [PATCH 4/6] Updated migrations --- app/Models/Extruder.php | 1 - ...025_03_10_151717_create_filament_types.php | 2 +- .../2025_03_10_183058_create_filaments.php | 2 +- .../2025_03_10_183844_create_colors.php | 2 +- ...2025_03_10_183903_create_manufacturers.php | 4 +-- ...25_03_15_185418_create_extruders_table.php | 32 +++++++++++++++++++ ...03_15_185700_create_buildplates_table.php} | 15 +++++---- database/seeders/DatabaseSeeder.php | 7 ++++ 8 files changed, 52 insertions(+), 13 deletions(-) create mode 100644 database/migrations/2025_03_15_185418_create_extruders_table.php rename database/migrations/{2025_03_10_212629_add_filamentcout_to_manufacturers.php => 2025_03_15_185700_create_buildplates_table.php} (50%) diff --git a/app/Models/Extruder.php b/app/Models/Extruder.php index 37c7c06..a32630d 100644 --- a/app/Models/Extruder.php +++ b/app/Models/Extruder.php @@ -14,7 +14,6 @@ class Extruder extends Model 'description', 'manufacturer_id', 'diameter', - 'temp_min', 'temp_max' ]; diff --git a/database/migrations/2025_03_10_151717_create_filament_types.php b/database/migrations/2025_03_10_151717_create_filament_types.php index ec48987..f03e714 100644 --- a/database/migrations/2025_03_10_151717_create_filament_types.php +++ b/database/migrations/2025_03_10_151717_create_filament_types.php @@ -13,9 +13,9 @@ return new class extends Migration { Schema::create('filament_types', function (Blueprint $table) { $table->id(); - $table->timestamps(); $table->string('name'); $table->string('description'); + $table->timestamps(); }); } diff --git a/database/migrations/2025_03_10_183058_create_filaments.php b/database/migrations/2025_03_10_183058_create_filaments.php index fc36475..4bc6878 100644 --- a/database/migrations/2025_03_10_183058_create_filaments.php +++ b/database/migrations/2025_03_10_183058_create_filaments.php @@ -13,7 +13,6 @@ return new class extends Migration { Schema::create('filaments', function (Blueprint $table) { $table->id(); - $table->timestamps(); $table->string('name')->required(); $table->string('description')->nullable(); $table->string('color_id')->required(); @@ -29,6 +28,7 @@ return new class extends Migration $table->integer('temp_max')->nullable(); $table->integer('buildplate_id')->nullable(); $table->integer('extruder_id')->nullable(); + $table->timestamps(); }); } diff --git a/database/migrations/2025_03_10_183844_create_colors.php b/database/migrations/2025_03_10_183844_create_colors.php index 54ec1ef..f082cb1 100644 --- a/database/migrations/2025_03_10_183844_create_colors.php +++ b/database/migrations/2025_03_10_183844_create_colors.php @@ -13,9 +13,9 @@ return new class extends Migration { Schema::create('colors', function (Blueprint $table) { $table->id(); - $table->timestamps(); $table->string('name')->required(); $table->string('hex')->required(); + $table->timestamps(); }); } diff --git a/database/migrations/2025_03_10_183903_create_manufacturers.php b/database/migrations/2025_03_10_183903_create_manufacturers.php index b99b372..73f94c6 100644 --- a/database/migrations/2025_03_10_183903_create_manufacturers.php +++ b/database/migrations/2025_03_10_183903_create_manufacturers.php @@ -13,12 +13,12 @@ return new class extends Migration { Schema::create('manufacturers', function (Blueprint $table) { $table->id(); - $table->timestamps(); $table->string('name')->required(); $table->string('description')->nullable(); $table->string('website')->nullable(); $table->string('logo')->nullable(); - + $table->integer('filament_count')->default(0); + $table->timestamps(); }); } diff --git a/database/migrations/2025_03_15_185418_create_extruders_table.php b/database/migrations/2025_03_15_185418_create_extruders_table.php new file mode 100644 index 0000000..bf5e31c --- /dev/null +++ b/database/migrations/2025_03_15_185418_create_extruders_table.php @@ -0,0 +1,32 @@ +id(); + $table->string('name'); + $table->string('description')->nullable(); + $table->string('manufacturer_id')->required(); + $table->string('diameter')->required(); + $table->string('temp_max')->required(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('extruders'); + } +}; diff --git a/database/migrations/2025_03_10_212629_add_filamentcout_to_manufacturers.php b/database/migrations/2025_03_15_185700_create_buildplates_table.php similarity index 50% rename from database/migrations/2025_03_10_212629_add_filamentcout_to_manufacturers.php rename to database/migrations/2025_03_15_185700_create_buildplates_table.php index 270fe00..378c344 100644 --- a/database/migrations/2025_03_10_212629_add_filamentcout_to_manufacturers.php +++ b/database/migrations/2025_03_15_185700_create_buildplates_table.php @@ -11,9 +11,13 @@ return new class extends Migration */ public function up(): void { - Schema::table('manufacturers', function (Blueprint $table) { - // - $table->integer('filament_count')->default(0); + Schema::create('buildplates', function (Blueprint $table) { + $table->id(); + $table->string('name'); + $table->string('description'); + $table->foreignId('manufacturer_id')->constrained(); + $table->string('temp_max'); + $table->timestamps(); }); } @@ -22,9 +26,6 @@ return new class extends Migration */ public function down(): void { - Schema::table('manufacturers', function (Blueprint $table) { - // - $table->dropColumn('filament_count'); - }); + Schema::dropIfExists('buildplates'); } }; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 9211282..dcf69a5 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -16,6 +16,13 @@ class DatabaseSeeder extends Seeder public function run(): void { User::factory(10)->create(); + + User::create([ + 'name' => 'Admin', + 'email' => 'admin@local', + 'password' => bcrypt('password') + ]); + $this ->call( ColorSeeder::class, ManufacturerSeeder::class From fd09629a9f4d61b260f7d0fd3c7b6180aab77b7e Mon Sep 17 00:00:00 2001 From: iridium34 Date: Sat, 15 Mar 2025 20:12:59 +0100 Subject: [PATCH 5/6] updated migrations with foreign relations --- database/migrations/2025_03_10_183058_create_filaments.php | 6 +++--- .../migrations/2025_03_15_185418_create_extruders_table.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/database/migrations/2025_03_10_183058_create_filaments.php b/database/migrations/2025_03_10_183058_create_filaments.php index 4bc6878..1f7fdc5 100644 --- a/database/migrations/2025_03_10_183058_create_filaments.php +++ b/database/migrations/2025_03_10_183058_create_filaments.php @@ -15,9 +15,9 @@ return new class extends Migration $table->id(); $table->string('name')->required(); $table->string('description')->nullable(); - $table->string('color_id')->required(); - $table->string('manufacturer_id')->required(); - $table->string('type_id')->required(); + $table->foreignId('color_id')->constrained(); + $table->foreignId('manufacturer_id')->constrained(); + $table->foreignId('filament_type_id')->constrained(); $table->string('weight')->required(); $table->string('diameter')->required(); $table->string('price')->nullable(); diff --git a/database/migrations/2025_03_15_185418_create_extruders_table.php b/database/migrations/2025_03_15_185418_create_extruders_table.php index bf5e31c..a2ce04e 100644 --- a/database/migrations/2025_03_15_185418_create_extruders_table.php +++ b/database/migrations/2025_03_15_185418_create_extruders_table.php @@ -15,7 +15,7 @@ return new class extends Migration $table->id(); $table->string('name'); $table->string('description')->nullable(); - $table->string('manufacturer_id')->required(); + $table->foreignId('manufacturer_id')->constrained(); $table->string('diameter')->required(); $table->string('temp_max')->required(); $table->timestamps(); From 41d9cc61010b901fcbc46b225610a2957b5a8fb9 Mon Sep 17 00:00:00 2001 From: iridium34 Date: Sat, 15 Mar 2025 20:17:23 +0100 Subject: [PATCH 6/6] fixed migration order --- ...3844_create_colors.php => 2025_03_10_182844_create_colors.php} | 0 ...nufacturers.php => 2025_03_10_182903_create_manufacturers.php} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename database/migrations/{2025_03_10_183844_create_colors.php => 2025_03_10_182844_create_colors.php} (100%) rename database/migrations/{2025_03_10_183903_create_manufacturers.php => 2025_03_10_182903_create_manufacturers.php} (100%) diff --git a/database/migrations/2025_03_10_183844_create_colors.php b/database/migrations/2025_03_10_182844_create_colors.php similarity index 100% rename from database/migrations/2025_03_10_183844_create_colors.php rename to database/migrations/2025_03_10_182844_create_colors.php diff --git a/database/migrations/2025_03_10_183903_create_manufacturers.php b/database/migrations/2025_03_10_182903_create_manufacturers.php similarity index 100% rename from database/migrations/2025_03_10_183903_create_manufacturers.php rename to database/migrations/2025_03_10_182903_create_manufacturers.php