From 70aab06364ba5ae00fc11802b02c11b141b62e5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Thu, 5 Feb 2026 19:59:31 +0900 Subject: [PATCH] =?UTF-8?q?feat:holidays=20=ED=85=8C=EC=9D=B4=EB=B8=94=20?= =?UTF-8?q?=EB=A7=88=EC=9D=B4=EA=B7=B8=EB=A0=88=EC=9D=B4=EC=85=98=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 달력 휴일 관리를 위한 holidays 테이블 추가 (시작일/종료일, 유형, 반복 여부) Co-Authored-By: Claude Opus 4.5 --- ...026_02_05_700000_create_holidays_table.php | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 database/migrations/2026_02_05_700000_create_holidays_table.php diff --git a/database/migrations/2026_02_05_700000_create_holidays_table.php b/database/migrations/2026_02_05_700000_create_holidays_table.php new file mode 100644 index 0000000..da50187 --- /dev/null +++ b/database/migrations/2026_02_05_700000_create_holidays_table.php @@ -0,0 +1,34 @@ +id(); + $table->unsignedBigInteger('tenant_id'); + $table->date('start_date')->comment('시작일'); + $table->date('end_date')->comment('종료일 (단일 휴일이면 start_date와 동일)'); + $table->string('name', 100)->comment('휴일명'); + $table->string('type', 30)->default('public')->comment('유형: public(공휴일), company(회사지정), etc'); + $table->boolean('is_recurring')->default(false)->comment('매년 반복 여부'); + $table->text('memo')->nullable()->comment('메모'); + $table->unsignedBigInteger('created_by')->nullable(); + $table->unsignedBigInteger('updated_by')->nullable(); + $table->timestamps(); + $table->softDeletes(); + + $table->index(['tenant_id', 'start_date']); + $table->index(['tenant_id', 'end_date']); + }); + } + + public function down(): void + { + Schema::dropIfExists('holidays'); + } +};