diff --git a/.env.example b/.env.example index eab80afd..94f1cc61 100644 --- a/.env.example +++ b/.env.example @@ -75,3 +75,11 @@ FCM_BATCH_CHUNK_SIZE=200 FCM_BATCH_DELAY_MS=100 FCM_LOGGING_ENABLED=true FCM_LOG_CHANNEL=stack + +# FCM (Firebase Cloud Messaging) +FCM_PROJECT_ID= +FCM_SA_PATH=secrets/firebase-service-account.json +FCM_BATCH_CHUNK_SIZE=200 +FCM_BATCH_DELAY_MS=100 +FCM_LOGGING_ENABLED=true +FCM_LOG_CHANNEL=stack diff --git a/database/migrations/2025_12_18_231356_create_fcm_send_logs_table.php b/database/migrations/2025_12_18_231356_create_fcm_send_logs_table.php deleted file mode 100644 index 5eecf56d..00000000 --- a/database/migrations/2025_12_18_231356_create_fcm_send_logs_table.php +++ /dev/null @@ -1,49 +0,0 @@ -id(); - $table->unsignedBigInteger('tenant_id')->nullable()->comment('테넌트 ID (전체 발송 시 null)'); - $table->unsignedBigInteger('user_id')->nullable()->comment('대상 사용자 ID (전체 발송 시 null)'); - $table->unsignedBigInteger('sender_id')->comment('발송자 (MNG 관리자) ID'); - $table->string('title')->comment('알림 제목'); - $table->text('body')->comment('알림 내용'); - $table->string('channel_id', 50)->default('push_default')->comment('알림 채널'); - $table->string('type', 50)->nullable()->comment('알림 타입'); - $table->string('platform', 20)->nullable()->comment('플랫폼 필터 (android, ios, web)'); - $table->json('data')->nullable()->comment('추가 데이터 (JSON)'); - $table->unsignedInteger('total_count')->default(0)->comment('총 발송 수'); - $table->unsignedInteger('success_count')->default(0)->comment('성공 수'); - $table->unsignedInteger('failure_count')->default(0)->comment('실패 수'); - $table->unsignedInteger('invalid_token_count')->default(0)->comment('무효 토큰 수'); - $table->decimal('success_rate', 5, 2)->default(0)->comment('성공률 (%)'); - $table->string('status', 20)->default('pending')->comment('상태 (pending, sending, completed, failed)'); - $table->text('error_message')->nullable()->comment('에러 메시지'); - $table->timestamp('completed_at')->nullable()->comment('완료 시간'); - $table->timestamps(); - - $table->index('tenant_id'); - $table->index('sender_id'); - $table->index('status'); - $table->index('created_at'); - }); - } - - /** - * Reverse the migrations. - */ - public function down(): void - { - Schema::dropIfExists('fcm_send_logs'); - } -};