From a8c71dac4b60fbb1a9a5973a7d6e5256eddfc6f3 Mon Sep 17 00:00:00 2001 From: Application-drop-up Date: Mon, 4 May 2026 20:03:56 +0900 Subject: [PATCH 1/2] feat: emit main_image_url from normalize path of SplitWorldHeritageJson In normalizeSiteRowImportReady, surface main_image_url on every newly created site row in world_heritage_sites.json. The lookup prefers the local dump's image_url key (UNESCO main_image_url is renamed to image_url by DumpUnescoWorldHeritageJson) and falls back to main_image_url for sources that keep the original UNESCO field name. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/app/Console/Commands/SplitWorldHeritageJson.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/app/Console/Commands/SplitWorldHeritageJson.php b/src/app/Console/Commands/SplitWorldHeritageJson.php index d62473d..0dbdd8e 100644 --- a/src/app/Console/Commands/SplitWorldHeritageJson.php +++ b/src/app/Console/Commands/SplitWorldHeritageJson.php @@ -743,6 +743,7 @@ private function normalizeSiteRowImportReady(array $row, int $siteId): array 'longitude' => isset($lon) ? (is_numeric($lon) ? (float) $lon : null) : null, 'short_description' => $this->stringOrNull($row['short_description_en'] ?? null), 'unesco_site_url' => $this->stringOrNull($row['unesco_site_url'] ?? ($row['url'] ?? null)), + 'main_image_url' => $this->stringOrNull($row['image_url'] ?? ($row['main_image_url'] ?? null)), ]; } From b6c2c350428d8eaa90da7098d79a4b797826d13e Mon Sep 17 00:00:00 2001 From: Application-drop-up Date: Mon, 4 May 2026 20:08:44 +0900 Subject: [PATCH 2/2] feat: fill main_image_url in merge path of SplitWorldHeritageJson In mergeSiteRowPreferExisting, fill main_image_url onto an already seen site row when the existing entry has none and a duplicate row provides a value. This keeps the existing-wins semantics consistent with the rest of the merge while ensuring transnational/duplicate rows do not silently drop the hero image. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/app/Console/Commands/SplitWorldHeritageJson.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/app/Console/Commands/SplitWorldHeritageJson.php b/src/app/Console/Commands/SplitWorldHeritageJson.php index 0dbdd8e..2c4d6ef 100644 --- a/src/app/Console/Commands/SplitWorldHeritageJson.php +++ b/src/app/Console/Commands/SplitWorldHeritageJson.php @@ -819,6 +819,8 @@ private function mergeSiteRowPreferExisting(array $existing, array $incoming): a $existing['unesco_site_url'] = $unescoUrl; } + $fill('main_image_url', $incoming['image_url'] ?? ($incoming['main_image_url'] ?? null)); + return $existing; }