From c290c99cc4c276abcd98038eddfc11001b864b7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sun, 15 Feb 2026 15:56:28 +0900 Subject: [PATCH] =?UTF-8?q?feat:tutorial=5Fvideos=20=ED=85=8C=EC=9D=B4?= =?UTF-8?q?=EB=B8=94=20=EB=A7=88=EC=9D=B4=EA=B7=B8=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 사용자 매뉴얼 영상 자동 생성 기능을 위한 DB 테이블 생성 Co-Authored-By: Claude Opus 4.6 --- ...15_230000_create_tutorial_videos_table.php | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 database/migrations/2026_02_15_230000_create_tutorial_videos_table.php diff --git a/database/migrations/2026_02_15_230000_create_tutorial_videos_table.php b/database/migrations/2026_02_15_230000_create_tutorial_videos_table.php new file mode 100644 index 0000000..82699d7 --- /dev/null +++ b/database/migrations/2026_02_15_230000_create_tutorial_videos_table.php @@ -0,0 +1,37 @@ +id(); + $table->unsignedBigInteger('tenant_id'); + $table->unsignedBigInteger('user_id'); + $table->string('title', 500)->nullable(); + $table->string('status', 50)->default('pending'); + $table->tinyInteger('progress')->unsigned()->default(0); + $table->string('current_step', 100)->nullable(); + $table->json('screenshots')->nullable(); + $table->json('analysis_data')->nullable(); + $table->json('slides_data')->nullable(); + $table->string('output_path', 500)->nullable(); + $table->string('gcs_path', 500)->nullable(); + $table->decimal('cost_usd', 8, 4)->default(0); + $table->text('error_message')->nullable(); + $table->timestamps(); + + $table->index('tenant_id'); + $table->index(['user_id', 'status']); + }); + } + + public function down(): void + { + Schema::dropIfExists('tutorial_videos'); + } +};