From 2ee0cf23cc80bad421959e1d2676198a91b7f7ef Mon Sep 17 00:00:00 2001 From: Matt Young Date: Sun, 14 Jul 2024 23:36:46 -0500 Subject: [PATCH] Original migrations and models #20 Implement bonus scores --- app/Models/BonusScore.php | 11 +++++++ app/Models/BonusScoreDefinition.php | 11 +++++++ ...2_create_bonus_score_definitions_table.php | 32 ++++++++++++++++++ ..._bonus_score_audition_assignment_table.php | 31 +++++++++++++++++ ...07_15_042700_create_bonus_scores_table.php | 33 +++++++++++++++++++ 5 files changed, 118 insertions(+) create mode 100644 app/Models/BonusScore.php create mode 100644 app/Models/BonusScoreDefinition.php create mode 100644 database/migrations/2024_07_15_040312_create_bonus_score_definitions_table.php create mode 100644 database/migrations/2024_07_15_042419_create_bonus_score_audition_assignment_table.php create mode 100644 database/migrations/2024_07_15_042700_create_bonus_scores_table.php diff --git a/app/Models/BonusScore.php b/app/Models/BonusScore.php new file mode 100644 index 0000000..6629a7f --- /dev/null +++ b/app/Models/BonusScore.php @@ -0,0 +1,11 @@ +id(); + $table->string('name'); + $table->integer('max_score'); + $table->float('weight'); + $table->boolean('for_seating')->default(true); + $table->boolean('for_attendance')->default(false); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('bonus_score_definitions'); + } +}; diff --git a/database/migrations/2024_07_15_042419_create_bonus_score_audition_assignment_table.php b/database/migrations/2024_07_15_042419_create_bonus_score_audition_assignment_table.php new file mode 100644 index 0000000..abc600d --- /dev/null +++ b/database/migrations/2024_07_15_042419_create_bonus_score_audition_assignment_table.php @@ -0,0 +1,31 @@ +id(); + $table->foreignIdFor(BonusScoreDefinition::class)->constrained()->onDelete('cascade')->onUpdate('cascade'); + $table->foreignIdFor(Audition::class)->constrained()->onDelete('cascade')->onUpdate('cascade'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('bonus_score_audition_assignment'); + } +}; diff --git a/database/migrations/2024_07_15_042700_create_bonus_scores_table.php b/database/migrations/2024_07_15_042700_create_bonus_scores_table.php new file mode 100644 index 0000000..c44e38c --- /dev/null +++ b/database/migrations/2024_07_15_042700_create_bonus_scores_table.php @@ -0,0 +1,33 @@ +id(); + $table->foreignIdFor(Entry::class); + $table->foreignIdFor(User::class); + $table->foreignId('originally_scored_entry')->nullable()->constrained('entries')->nullOnDelete(); + $table->integer('score'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('bonus_scores'); + } +};