調整 同步Branch 資料會全部到分店去的問題 v2 20250616
This commit is contained in:
parent
cf1ea1f081
commit
046c880676
@ -8,6 +8,7 @@ use Illuminate\Support\Collection;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class SqliteExportService
|
||||
{
|
||||
@ -59,7 +60,9 @@ class SqliteExportService
|
||||
public function exportMultiple(array $tables): void
|
||||
{
|
||||
foreach ($tables as $tableName => $config) {
|
||||
Log::info("[SqliteExport] Processing table: {$tableName}");
|
||||
$this->dropAndCreateTable($tableName, $config['tableSchema']);
|
||||
Log::info("[SqliteExport] Created table schema: {$tableName}");
|
||||
$transformer = $config['transformer'] ?? fn($row) => (array)$row;
|
||||
|
||||
if (isset($config['modelClass'])) {
|
||||
@ -71,6 +74,7 @@ class SqliteExportService
|
||||
$rows = $chunk->map($transformer)->toArray();
|
||||
$this->insertData($tableName, $rows);
|
||||
});
|
||||
Log::info("[SqliteExport] Exported {$totalCount} records to {$tableName} (via model)");
|
||||
} elseif (isset($config['query']) && is_callable($config['query'])) {
|
||||
$rows = call_user_func($config['query']);
|
||||
|
||||
@ -80,11 +84,13 @@ class SqliteExportService
|
||||
|
||||
$data = $rows->map($transformer)->toArray();
|
||||
$this->insertData($tableName, $data);
|
||||
Log::info("[SqliteExport] Exported " . count($data) . " records to {$tableName} (via query)");
|
||||
} else {
|
||||
throw new \InvalidArgumentException("Each table config must define either 'modelClass' or 'query'.");
|
||||
}
|
||||
}
|
||||
$this->purge();
|
||||
Log::info("[SqliteExport] Connection purged: {$this->connection}");
|
||||
}
|
||||
|
||||
protected function dropAndCreateTable(string $table, Closure $schema): void
|
||||
|
Loading…
x
Reference in New Issue
Block a user