2021_07_08_322232_create_dossier_table.php
1 <?php 2 3 use Illuminate\Database\Migrations\Migration; 4 use Illuminate\Database\Schema\Blueprint; 5 use Illuminate\Support\Facades\Schema; 6 7 class CreateDossierTable extends Migration 8 { 9 /** 10 * Run the migrations. 11 * 12 * @return void 13 */ 14 public function up() 15 { 16 Schema::create('dossiers', function (Blueprint $table) { 17 $table->id(); 18 $table->string('code_year'); 19 $table->string('code_seq'); 20 21 $table->foreignId('dossier_type_id')->nullable()->constrained('dossier_types')->cascadeOnUpdate()->nullOnDelete(); 22 $table->foreignId('dossier_status_id')->default(1)->constrained('dossier_statuses'); 23 $table->boolean('active')->default(true); 24 $table->integer('monitoring_level')->default(\App\Enums\DossierLevelEnum::basic()->value); 25 $table->date('certification_end_date')->nullable(); 26 27 $table->foreignId('toe_id')->nullable()->constrained('toes')->cascadeOnUpdate()->nullOnDelete(); 28 $table->foreignId('principal_certifier_id')->nullable()->constrained('users')->cascadeOnUpdate()->nullOnDelete(); 29 $table->foreignId('task_receiver_id')->nullable()->constrained('users')->cascadeOnUpdate()->nullOnDelete(); 30 $table->foreignId('norm_id')->nullable()->constrained('norms')->cascadeOnUpdate()->nullOnDelete(); 31 $table->foreignId('laboratory_id')->nullable()->constrained('entities')->cascadeOnUpdate()->nullOnDelete(); 32 $table->foreignId('sponsor_id')->nullable()->constrained('entities')->cascadeOnUpdate()->nullOnDelete(); 33 $table->foreignId('applicant_id')->nullable()->constrained('entities')->cascadeOnUpdate()->nullOnDelete(); 34 $table->foreignId('manufacturer_id')->nullable()->constrained('entities')->cascadeOnUpdate()->nullOnDelete(); 35 36 $table->softDeletes(); 37 $table->timestamps(); 38 }); 39 } 40 41 /** 42 * Reverse the migrations. 43 * 44 * @return void 45 */ 46 public function down() 47 { 48 Schema::dropIfExists('dossiers'); 49 } 50 }