/ database / migrations / 2021_07_08_322232_create_dossier_table.php
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  }