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 }