diff --git a/database/factories/EventFactory.php b/database/factories/EventFactory.php index 41c6c10..19b0bf9 100644 --- a/database/factories/EventFactory.php +++ b/database/factories/EventFactory.php @@ -17,7 +17,7 @@ class EventFactory extends Factory public function definition(): array { return [ - // + 'name' => 'Concert Band Auditions' ]; } } diff --git a/database/migrations/2024_05_31_004428_create_events_table.php b/database/migrations/2024_05_31_004428_create_events_table.php index 538f11f..d3c2386 100644 --- a/database/migrations/2024_05_31_004428_create_events_table.php +++ b/database/migrations/2024_05_31_004428_create_events_table.php @@ -13,7 +13,7 @@ return new class extends Migration { Schema::create('events', function (Blueprint $table) { $table->id(); - $table->string('name'); + $table->string('name')->unique(); $table->timestamps(); }); } diff --git a/database/migrations/2024_05_31_004546_create_auditions_table.php b/database/migrations/2024_05_31_004546_create_auditions_table.php index 0f4181f..cf6c4dc 100644 --- a/database/migrations/2024_05_31_004546_create_auditions_table.php +++ b/database/migrations/2024_05_31_004546_create_auditions_table.php @@ -15,10 +15,12 @@ return new class extends Migration Schema::create('auditions', function (Blueprint $table) { $table->id(); $table->foreignIdFor(Event::class)->constrained()->cascadeOnUpdate()->restrictOnDelete(); - $table->string('name'); + $table->string('name')->unique(); $table->integer('order')->nullable()->unique(); $table->date(('entry_deadline')); $table->integer('entry_fee'); + $table->integer('minimum_grade'); + $table->integer('maximum_grade'); $table->timestamps(); }); } diff --git a/database/seeders/AuditionSeeder.php b/database/seeders/AuditionSeeder.php new file mode 100644 index 0000000..7d103c5 --- /dev/null +++ b/database/seeders/AuditionSeeder.php @@ -0,0 +1,67 @@ +create([ + 'name' => 'Concert Band Auditions' + ]); + + $instruments = [ + 'Flute', + 'Oboe', + 'Clarinet', + 'Bass Clarinet', + 'Contra Clarinet', + 'Bassoon', + 'Alto Sax', + 'Tenor Sax', + 'Bari Sax', + 'Trumpet', + 'Horn', + 'Trombone', + 'Euphonium', + 'Tuba', + 'String Bass', + 'Percussion' + ]; + $levels = ['HS', 'JH', '7th']; + $n = 1; + foreach ($levels as $level) { + if ($level == 'HS') { + $minGrade = 9; + $maxGrade = 12; + } + if ($level == 'JH') { + $minGrade = 8; + $maxGrade = 9; + }if ($level == '7th') { + $minGrade = 7; + $maxGrade = 7; + } + foreach ($instruments as $instrument) { + DB::table('auditions')->insert([ + 'event_id' => $event->id, + 'name' => $level . ' ' . $instrument, + 'order' => $n, + 'entry_deadline' => '2040-12-31', + 'entry_fee' => '1000', + 'minimum_grade' => $minGrade, + 'maximum_grade' => $maxGrade + ]); + $n++; + } + } + } +}