OpenMetadata/bootstrap/sql/migrations/native/1.10.0/postgres/postDataMigrationSQLScript.sql
Ram Narayan Balaji 5b59b34c1d
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
2025-10-06 18:56:11 +05:30

52 lines
1.8 KiB
SQL

-- Migration script to restructure Databricks connection configuration
-- Move 'token' field from connection.config.token to connection.config.authType.token
UPDATE dbservice_entity
SET json = jsonb_set(
json #- '{connection,config,token}',
'{connection,config,authType}',
jsonb_build_object('token', json #> '{connection,config,token}'),
true
)
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%';