App Screenshots Migration (#23722)

* App Screenshots Migration queries

* Replace the png only in the appScreenshots

* Cast json to jsonb for apps_Data_Store in the migration
This commit is contained in:
Ram Narayan Balaji 2025-10-06 18:56:11 +05:30 committed by GitHub
parent d903f2cc48
commit 5b59b34c1d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 88 additions and 1 deletions

View File

@ -12,4 +12,52 @@ SET
)
WHERE
serviceType in ('Databricks', 'UnityCatalog')
AND JSON_CONTAINS_PATH(json, 'one', '$.connection.config.token');
AND JSON_CONTAINS_PATH(json, 'one', '$.connection.config.token');
-- Migration to remove .png extension from appScreenshots in apps tables
-- Part of fixing appScreenshots extension handling change
-- Update apps_marketplace table - remove .png extension from appScreenshots only
UPDATE apps_marketplace
SET json = JSON_SET(
json,
'$.appScreenshots',
JSON_EXTRACT(
REPLACE(JSON_EXTRACT(json, '$.appScreenshots'), '.png"', '"'),
'$'
)
)
WHERE json IS NOT NULL
AND JSON_EXTRACT(json, '$.appScreenshots') IS NOT NULL
AND JSON_LENGTH(JSON_EXTRACT(json, '$.appScreenshots')) > 0
AND JSON_EXTRACT(json, '$.appScreenshots') LIKE '%.png%';
-- Update installed_apps table - remove .png extension from appScreenshots only
UPDATE installed_apps
SET json = JSON_SET(
json,
'$.appScreenshots',
JSON_EXTRACT(
REPLACE(JSON_EXTRACT(json, '$.appScreenshots'), '.png"', '"'),
'$'
)
)
WHERE json IS NOT NULL
AND JSON_EXTRACT(json, '$.appScreenshots') IS NOT NULL
AND JSON_LENGTH(JSON_EXTRACT(json, '$.appScreenshots')) > 0
AND JSON_EXTRACT(json, '$.appScreenshots') LIKE '%.png%';
-- Update apps_data_store table - remove .png extension from appScreenshots only
UPDATE apps_data_store
SET json = JSON_SET(
json,
'$.appScreenshots',
JSON_EXTRACT(
REPLACE(JSON_EXTRACT(json, '$.appScreenshots'), '.png"', '"'),
'$'
)
)
WHERE json IS NOT NULL
AND JSON_EXTRACT(json, '$.appScreenshots') IS NOT NULL
AND JSON_LENGTH(JSON_EXTRACT(json, '$.appScreenshots')) > 0
AND JSON_EXTRACT(json, '$.appScreenshots') LIKE '%.png%';

View File

@ -10,3 +10,42 @@ SET json = jsonb_set(
)
WHERE serviceType in ('Databricks', 'UnityCatalog')
AND jsonb_exists(json -> 'connection' -> 'config', 'token');
-- Migration to remove .png extension from appScreenshots in apps tables
-- Part of fixing appScreenshots extension handling change
-- Update apps_marketplace table - remove .png extension from appScreenshots only
UPDATE apps_marketplace
SET json = jsonb_set(
json,
'{appScreenshots}',
REPLACE((json -> 'appScreenshots')::text, '.png"', '"')::jsonb
)
WHERE json IS NOT NULL
AND json -> 'appScreenshots' IS NOT NULL
AND jsonb_array_length(json -> 'appScreenshots') > 0
AND (json -> 'appScreenshots')::text LIKE '%.png%';
-- Update installed_apps table - remove .png extension from appScreenshots only
UPDATE installed_apps
SET json = jsonb_set(
json,
'{appScreenshots}',
REPLACE((json -> 'appScreenshots')::text, '.png"', '"')::jsonb
)
WHERE json IS NOT NULL
AND json -> 'appScreenshots' IS NOT NULL
AND jsonb_array_length(json -> 'appScreenshots') > 0
AND (json -> 'appScreenshots')::text LIKE '%.png%';
-- Update apps_data_store table - remove .png extension from appScreenshots only
UPDATE apps_data_store
SET json = jsonb_set(
json::jsonb,
'{appScreenshots}',
REPLACE((json -> 'appScreenshots')::text, '.png"', '"')::jsonb
)
WHERE json IS NOT NULL
AND json -> 'appScreenshots' IS NOT NULL
AND json_array_length((json -> 'appScreenshots')::json) > 0
AND (json -> 'appScreenshots')::text LIKE '%.png%';