mirror of
https://github.com/AnimeThemes/animethemes-server.git
synced 2026-10-30 19:23:57 +01:00
100 lines
4.4 KiB
PHP
100 lines
4.4 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Wiki\Anime;
|
|
use App\Models\Wiki\Artist;
|
|
use App\Models\Wiki\Audio;
|
|
use App\Models\Wiki\Entry;
|
|
use App\Models\Wiki\ExternalResource;
|
|
use App\Models\Wiki\Group;
|
|
use App\Models\Wiki\Image;
|
|
use App\Models\Wiki\Performance;
|
|
use App\Models\Wiki\Song;
|
|
use App\Models\Wiki\Studio;
|
|
use App\Models\Wiki\Synonym;
|
|
use App\Models\Wiki\Theme;
|
|
use App\Models\Wiki\Video;
|
|
use App\Models\Wiki\Video\VideoScript;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class FactoryDataSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Seed the application's database.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
Anime::factory()
|
|
->count(fake()->numberBetween(2, 8))
|
|
->has(Synonym::factory()->count(fake()->numberBetween(1, 3)), Anime::RELATION_SYNONYMS)
|
|
->has(ExternalResource::factory()->count(fake()->numberBetween(1, 3)), Anime::RELATION_RESOURCES)
|
|
->has(Image::factory()->count(fake()->numberBetween(1, 3)), Anime::RELATION_IMAGES)
|
|
->has(Studio::factory()->has(Image::factory())->count(fake()->numberBetween(1, 3)), Anime::RELATION_STUDIOS)
|
|
->has(
|
|
Theme::factory()
|
|
->count(fake()->numberBetween(1, 5))
|
|
->for(Group::factory(), Theme::RELATION_GROUP)
|
|
->for(
|
|
Song::factory()->has(
|
|
Performance::factory()
|
|
->count(fake()->numberBetween(1, 4))
|
|
->for(
|
|
Artist::factory()
|
|
->has(Synonym::factory()->count(fake()->numberBetween(1, 3)), Artist::RELATION_SYNONYMS)
|
|
->has(ExternalResource::factory()->count(fake()->numberBetween(1, 3)), Artist::RELATION_RESOURCES)
|
|
->has(Image::factory()->count(fake()->numberBetween(1, 3)), Artist::RELATION_IMAGES),
|
|
Performance::RELATION_ARTIST
|
|
)
|
|
->potentialMember(),
|
|
Song::RELATION_PERFORMANCES
|
|
),
|
|
Theme::RELATION_SONG
|
|
)
|
|
->has(
|
|
Entry::factory()
|
|
->count(fake()->numberBetween(1, 5))
|
|
->has(
|
|
Video::factory()
|
|
->count(fake()->numberBetween(1, 3))
|
|
->for(Audio::factory(), Video::RELATION_AUDIO)
|
|
->has(VideoScript::factory(), Video::RELATION_SCRIPT)
|
|
)
|
|
)
|
|
)
|
|
->has(
|
|
Theme::factory()
|
|
->count(fake()->numberBetween(1, 5))
|
|
->for(
|
|
Song::factory()->has(
|
|
Performance::factory()
|
|
->count(fake()->numberBetween(1, 4))
|
|
->for(
|
|
Artist::factory()
|
|
->has(Synonym::factory()->count(fake()->numberBetween(1, 3)), Artist::RELATION_SYNONYMS)
|
|
->has(ExternalResource::factory()->count(fake()->numberBetween(1, 3)), Artist::RELATION_RESOURCES)
|
|
->has(Image::factory()->count(fake()->numberBetween(1, 3)), Artist::RELATION_IMAGES),
|
|
Performance::RELATION_ARTIST
|
|
)
|
|
->potentialMember(),
|
|
Song::RELATION_PERFORMANCES
|
|
),
|
|
Theme::RELATION_SONG
|
|
)
|
|
->has(
|
|
Entry::factory()
|
|
->count(fake()->numberBetween(1, 5))
|
|
->has(
|
|
Video::factory()
|
|
->count(fake()->numberBetween(1, 3))
|
|
->for(Audio::factory(), Video::RELATION_AUDIO)
|
|
->has(VideoScript::factory(), Video::RELATION_SCRIPT)
|
|
)
|
|
)
|
|
)
|
|
->create();
|
|
}
|
|
}
|