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