diff --git a/app/Jobs/ExportSqliteTextAdJob.php b/app/Jobs/ExportSqliteTextAdJob.php index 68fff43..a3081e3 100644 --- a/app/Jobs/ExportSqliteTextAdJob.php +++ b/app/Jobs/ExportSqliteTextAdJob.php @@ -9,6 +9,9 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Schema; +use Illuminate\Database\Schema\Blueprint; class ExportSqliteTextAdJob implements ShouldQueue { diff --git a/app/Jobs/SendSqliteFileJob.php b/app/Jobs/SendSqliteFileJob.php index 9f07e38..52bb998 100644 --- a/app/Jobs/SendSqliteFileJob.php +++ b/app/Jobs/SendSqliteFileJob.php @@ -32,7 +32,7 @@ class SendSqliteFileJob implements ShouldQueue Log::error("❌ SQLite 檔案不存在: {$path}"); return; } - $user = \App\Models\User::find(2); + $user = \App\Models\User::find(1); $token = $user->api_plain_token; $branches = $this->branchId diff --git a/app/Services/SqliteExportService.php b/app/Services/SqliteExportService.php index 9bbb032..ddab4a9 100644 --- a/app/Services/SqliteExportService.php +++ b/app/Services/SqliteExportService.php @@ -96,7 +96,12 @@ class SqliteExportService protected function insertData(string $table, array $rows): void { if (empty($rows)) return; - DB::connection($this->connection)->table($table)->insert($rows); + $columns = count($rows[0]); + $maxBatch = intdiv(999, $columns); + + foreach (array_chunk($rows, $maxBatch) as $chunk) { + DB::connection($this->connection)->table($table)->insert($chunk); + } } protected function purge(): void