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 }