/ database / migrations / 2022_03_02_101534_create_workbook_requirement_validation_table.php
2022_03_02_101534_create_workbook_requirement_validation_table.php
 1  <?php
 2  
 3  use App\Enums\ValidationRequirementStatusEnum;
 4  use Illuminate\Database\Migrations\Migration;
 5  use Illuminate\Database\Schema\Blueprint;
 6  use Illuminate\Support\Facades\Schema;
 7  
 8  class CreateWorkbookRequirementValidationTable extends Migration
 9  {
10      /**
11       * Run the migrations.
12       *
13       * @return void
14       */
15      public function up()
16      {
17          Schema::create('workbook_requirement_validation', function (Blueprint $table) {
18              $table->id();
19              $table->foreignId('validation_id')->constrained('validations')->cascadeOnUpdate()->cascadeOnDelete();
20              $table->foreignId('workbook_requirement_id')->nullable()->constrained('workbook_requirements')->cascadeOnUpdate()->nullOnDelete()->index('workbook_req_validation_workbook_req_id_foreign');
21              $table->foreignId('validation_requirement_status_id')->nullable()->default(ValidationRequirementStatusEnum::pass()->value)->constrained('validation_requirement_statuses')->cascadeOnUpdate()->nullOnDelete()->index('workbook_req_validation_val_req_status_id_foreign');
22              $table->foreignId('workbook_id')->nullable()->constrained('workbooks')->cascadeOnUpdate()->nullOnDelete();
23              $table->string('title')->nullable();
24              $table->mediumText('description')->nullable();
25              $table->timestamps();
26          });
27      }
28  
29      /**
30       * Reverse the migrations.
31       *
32       * @return void
33       */
34      public function down()
35      {
36          Schema::dropIfExists('workbook_requirement_validation');
37      }
38  }