/ database / migrations / 2021_07_26_182656_create_tasks_table.php
2021_07_26_182656_create_tasks_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 CreateTasksTable extends Migration
 8  {
 9      /**
10       * Run the migrations.
11       *
12       * @return void
13       */
14      public function up()
15      {
16          Schema::create('tasks', function (Blueprint $table) {
17              $table->id();
18              $table->string('title');
19              $table->enum('source', ['internal', 'external'])->default('internal');
20              $table->text('description');
21              $table->datetime('start_date')->nullable()->default(null);
22              $table->datetime('end_date')->nullable()->default(null);
23              $table->datetime('expiration_date')->nullable()->default(null);
24              $table->foreignId('user_id')->nullable()->constrained('users');
25              $table->foreignId('role_id')->nullable()->constrained('roles');
26              $table->foreignId('stage_id')->nullable()->constrained('stages')->cascadeOnUpdate()->nullOnDelete();
27              $table->foreignId('task_status_id')->default(1)->nullable()->constrained('task_statuses')->cascadeOnUpdate()->nullOnDelete();
28  
29              $table->timestamps();
30              $table->softDeletes();
31          });
32      }
33  
34      /**
35       * Reverse the migrations.
36       *
37       * @return void
38       */
39      public function down()
40      {
41          Schema::dropIfExists('tasks');
42      }
43  }