Put some fucking order in Seeders

This commit is contained in:
Jérémy Munsch 2023-12-18 12:42:06 +01:00
parent 6ca4d02933
commit 74ad7f3132
No known key found for this signature in database
GPG key ID: 18361AF3BFEC0FEC
18 changed files with 152 additions and 29 deletions

View file

@ -51,9 +51,9 @@ class ProductFactory extends Factory
],
];
$label = fake()->unique()->text(15);
$label = fake()->unique()->slug(3);
return [
'label' => $label,
'label' => Str::of($label)->replace('-', ' ')->title(),
'slug' => Str::slug($label),
'seo_title' => fake()->sentence(),
'seo_description' => fake()->sentence(),

View file

@ -2,7 +2,6 @@
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
@ -29,9 +28,6 @@ return new class extends Migration
$table->timestamps();
});
Artisan::call('db:seed', [
'class' => 'StaticPageSeeder'
]);
}
/**

View file

@ -0,0 +1,30 @@
<?php
use Database\Seeders\MandatorySeeder;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\Artisan;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up(): void
{
Artisan::call('db:seed', [
'class' => MandatorySeeder::class
]);
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down(): void
{
// Do nothing.
}
};

View file

@ -14,17 +14,9 @@ class DatabaseSeeder extends Seeder
public function run()
{
$this->call([
UserSeeder::class,
PictoSeeder::class,
CommitmentPageSeeder::class,
GameSeeder::class,
HistoricalMilestoneSeeder::class,
KlubBlocSeeder::class,
LocalCommitmentSeeder::class,
NewsSeeder::class,
RangeSeeder::class,
ProductSeeder::class,
ReductionSeeder::class,
MandatorySeeder::class,
DevelopmentSeeder::class,
UserSeeder::class
]);
}
}

View file

@ -1,10 +1,11 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Development;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\Game;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class GameSeeder extends Seeder
@ -16,6 +17,7 @@ class GameSeeder extends Seeder
*/
public function run()
{
DB::table((new Game())->getTable())->truncate();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new Game())->getTable()));
$publish_at = now()->addMonth();

View file

@ -1,10 +1,11 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Development;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\HistoricalMilestone;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class HistoricalMilestoneSeeder extends Seeder
@ -16,6 +17,7 @@ class HistoricalMilestoneSeeder extends Seeder
*/
public function run()
{
DB::table((new HistoricalMilestone())->getTable())->truncate();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new HistoricalMilestone())->getTable()));
HistoricalMilestone::factory(7)->make()->each(function (HistoricalMilestone $historicalMilestone) {

View file

@ -1,10 +1,11 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Development;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\LocalCommitment;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class LocalCommitmentSeeder extends Seeder
@ -16,6 +17,7 @@ class LocalCommitmentSeeder extends Seeder
*/
public function run()
{
DB::table((new LocalCommitment())->getTable())->truncate();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new LocalCommitment())->getTable()));
LocalCommitment::factory(7)->make()->each(function (LocalCommitment $localCommitment) {

View file

@ -1,10 +1,11 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Development;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\News;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class NewsSeeder extends Seeder
@ -16,6 +17,7 @@ class NewsSeeder extends Seeder
*/
public function run()
{
DB::table((new News())->getTable())->truncate();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new News())->getTable()));
News::factory(20)->make()->each(function (News $news) {

View file

@ -1,12 +1,14 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Development;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\Picto;
use App\Models\Product;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Schema;
class ProductSeeder extends Seeder
{
@ -17,6 +19,10 @@ class ProductSeeder extends Seeder
*/
public function run()
{
Schema::disableForeignKeyConstraints();
DB::table((new Product())->getTable())->truncate();
Schema::enableForeignKeyConstraints();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new Product())->getTable()));
Product::factory(12)->make()->each(function (Product $product) {

View file

@ -1,10 +1,11 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Development;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\Reduction;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class ReductionSeeder extends Seeder
@ -16,6 +17,7 @@ class ReductionSeeder extends Seeder
*/
public function run()
{
DB::table((new Reduction())->getTable())->truncate();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new Reduction())->getTable()));
Reduction::factory(10)->make()->each(function (Reduction $reduction) {

View file

@ -0,0 +1,31 @@
<?php
namespace Database\Seeders;
use Database\Seeders\Development\GameSeeder;
use Database\Seeders\Development\HistoricalMilestoneSeeder;
use Database\Seeders\Development\LocalCommitmentSeeder;
use Database\Seeders\Development\NewsSeeder;
use Database\Seeders\Development\ProductSeeder;
use Database\Seeders\Development\ReductionSeeder;
use Illuminate\Database\Seeder;
class DevelopmentSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run(): void
{
$this->call([
GameSeeder::class,
HistoricalMilestoneSeeder::class,
LocalCommitmentSeeder::class,
NewsSeeder::class,
ProductSeeder::class,
ReductionSeeder::class,
]);
}
}

View file

@ -1,10 +1,13 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Mandatory;
use App\Models\CommitmentPage;
use App\Models\Picto;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Schema;
class CommitmentPageSeeder extends Seeder
{
@ -15,6 +18,12 @@ class CommitmentPageSeeder extends Seeder
*/
public function run()
{
Schema::disableForeignKeyConstraints();
DB::table((new CommitmentPage())->getTable())->truncate();
Schema::enableForeignKeyConstraints();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new Picto())->getTable()));
CommitmentPage::factory(1)->createQuietly();
$pictos = Picto::query()->get();

View file

@ -1,10 +1,11 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Mandatory;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\KlubBloc;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
class KlubBlocSeeder extends Seeder
@ -16,6 +17,7 @@ class KlubBlocSeeder extends Seeder
*/
public function run()
{
DB::table((new KlubBloc())->getTable())->truncate();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new KlubBloc())->getTable()));
KlubBloc::factory(1)->make()->each(function (KlubBloc $klubBloc) {

View file

@ -1,11 +1,13 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Mandatory;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\Picto;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Schema;
class PictoSeeder extends Seeder
{
@ -16,6 +18,10 @@ class PictoSeeder extends Seeder
*/
public function run()
{
Schema::disableForeignKeyConstraints();
DB::table((new Picto())->getTable())->truncate();
Schema::enableForeignKeyConstraints();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new Picto())->getTable()));
Picto::factory(10)->make()->each(function (Picto $picto) {

View file

@ -1,11 +1,13 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Mandatory;
use App\Lib\Helpers\FileStorageHelper;
use App\Models\Range;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Schema;
class RangeSeeder extends Seeder
{
@ -16,6 +18,10 @@ class RangeSeeder extends Seeder
*/
public function run()
{
Schema::disableForeignKeyConstraints();
DB::table((new Range())->getTable())->truncate();
Schema::enableForeignKeyConstraints();
File::deleteDirectory(\storage_path('app/public/modelfiles/' . (new Range())->getTable()));
Range::factory(3)->make()->each(function (Range $range) {

View file

@ -1,10 +1,11 @@
<?php
namespace Database\Seeders;
namespace Database\Seeders\Mandatory;
use App\Enums\StaticPageType;
use App\Models\StaticPage;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
class StaticPageSeeder extends Seeder
@ -16,6 +17,8 @@ class StaticPageSeeder extends Seeder
*/
public function run()
{
DB::table((new StaticPage())->getTable())->truncate();
StaticPage::query()->make(
[
'seo_title' => 'Seo title pour la page contactez nous',

View file

@ -0,0 +1,29 @@
<?php
namespace Database\Seeders;
use Database\Seeders\Mandatory\CommitmentPageSeeder;
use Database\Seeders\Mandatory\KlubBlocSeeder;
use Database\Seeders\Mandatory\PictoSeeder;
use Database\Seeders\Mandatory\RangeSeeder;
use Database\Seeders\Mandatory\StaticPageSeeder;
use Illuminate\Database\Seeder;
class MandatorySeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run(): void
{
$this->call([
StaticPageSeeder::class,
PictoSeeder::class,
CommitmentPageSeeder::class,
RangeSeeder::class,
KlubBlocSeeder::class
]);
}
}

View file

@ -3,10 +3,13 @@
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class UserSeeder extends Seeder
{
use WithoutModelEvents;
/**
* Run the database seeds.
*
@ -14,6 +17,6 @@ class UserSeeder extends Seeder
*/
public function run()
{
User::factory(20)->createQuietly();
User::factory(20)->create();
}
}