increments('id'); $table->unsignedInteger('user_id'); $table->unsignedInteger('account_id')->index(); $table->unsignedInteger('client_id')->nullable(); $table->unsignedInteger('invoice_id')->nullable(); $table->timestamps(); $table->softDeletes(); $table->timestamp('start_time')->nullable(); $table->integer('duration')->nullable(); $table->string('description')->nullable(); $table->boolean('is_deleted')->default(false); $table->foreign('account_id')->references('id')->on('accounts')->onDelete('cascade'); $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); $table->foreign('invoice_id')->references('id')->on('invoices')->onDelete('cascade'); $table->foreign('client_id')->references('id')->on('clients')->onDelete('cascade'); $table->unsignedInteger('public_id')->index(); $table->unique(['account_id', 'public_id']); }); Schema::dropIfExists('timesheets'); Schema::dropIfExists('timesheet_events'); Schema::dropIfExists('timesheet_event_sources'); Schema::dropIfExists('project_codes'); Schema::dropIfExists('projects'); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('tasks'); } }