2021_08_13_102643_create_validations_table.php
1 <?php 2 3 use App\Enums\ValidationStatusEnum; 4 use Illuminate\Database\Migrations\Migration; 5 use Illuminate\Database\Schema\Blueprint; 6 use Illuminate\Support\Facades\Schema; 7 8 class CreateValidationsTable extends Migration 9 { 10 /** 11 * Run the migrations. 12 * 13 * @return void 14 */ 15 public function up() 16 { 17 Schema::create('validations', function (Blueprint $table) { 18 $table->id(); 19 $table->string('name'); 20 $table->string('reference')->nullable(); 21 $table->boolean('is_review')->default(false); 22 $table->timestamp('validated_at')->nullable(); 23 $table->foreignId('validation_status_id')->nullable()->default(ValidationStatusEnum::pending()->value)->constrained('validation_statuses')->cascadeOnUpdate()->nullOnDelete(); 24 $table->foreignId('revision_id')->nullable()->constrained('revisions')->cascadeOnUpdate()->nullOnDelete(); 25 $table->foreignId('validation_type_id')->nullable()->constrained('validation_types')->cascadeOnUpdate()->nullOnDelete(); 26 $table->timestamps(); 27 $table->softDeletes(); 28 }); 29 } 30 31 /** 32 * Reverse the migrations. 33 * 34 * @return void 35 */ 36 public function down() 37 { 38 Schema::dropIfExists('validations'); 39 } 40 }