-- Update DeltaLake service due to connection schema changes to enable DeltaLake ingestion from Storage UPDATE dbservice_entity dbse SET dbse.json = JSON_REMOVE(JSON_REMOVE( JSON_MERGE_PATCH( dbse.json, JSON_OBJECT( 'connection', JSON_OBJECT( 'config', JSON_OBJECT( 'configSource', JSON_OBJECT( 'connection', JSON_EXTRACT(dbse.json, '$.connection.config.metastoreConnection'), 'appName', JSON_UNQUOTE(JSON_EXTRACT(dbse.json, '$.connection.config.appName')) ) ) ) ) ) , '$.connection.config.appName'), '$.connection.config.metastoreConnection') WHERE dbse.serviceType = 'DeltaLake'; -- Allow all bots to update the ingestion pipeline status UPDATE policy_entity SET json = JSON_ARRAY_APPEND( json, '$.rules', CAST('{ "name": "BotRule-IngestionPipeline", "description": "A bot can Edit ingestion pipelines to pass the status", "resources": ["ingestionPipeline"], "operations": ["ViewAll","EditIngestionPipelineStatus"], "effect": "allow" }' AS JSON) ) WHERE name = 'DefaultBotPolicy'; -- create API service entity CREATE TABLE IF NOT EXISTS api_service_entity ( id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL, nameHash VARCHAR(256) NOT NULL COLLATE ascii_bin, name VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.name') NOT NULL, serviceType VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.serviceType') NOT NULL, json JSON NOT NULL, updatedAt BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.updatedAt') NOT NULL, updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.updatedBy') NOT NULL, deleted BOOLEAN GENERATED ALWAYS AS (json -> '$.deleted'), PRIMARY KEY (id), UNIQUE (nameHash), INDEX (name) ); -- create API collection entity CREATE TABLE IF NOT EXISTS api_collection_entity ( id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL, name VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.name') NOT NULL, fqnHash VARCHAR(256) NOT NULL COLLATE ascii_bin, json JSON NOT NULL, updatedAt BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.updatedAt') NOT NULL, updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.updatedBy') NOT NULL, deleted BOOLEAN GENERATED ALWAYS AS (json -> '$.deleted'), PRIMARY KEY (id), UNIQUE (fqnHash), INDEX (name) ); -- create API Endpoint entity CREATE TABLE IF NOT EXISTS api_endpoint_entity ( id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL, name VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.name') NOT NULL, fqnHash VARCHAR(256) NOT NULL COLLATE ascii_bin, json JSON NOT NULL, updatedAt BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.updatedAt') NOT NULL, updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.updatedBy') NOT NULL, deleted BOOLEAN GENERATED ALWAYS AS (json -> '$.deleted'), PRIMARY KEY (id), UNIQUE (fqnHash), INDEX (name) ); -- Remove date, dateTime, time from type_entity, as they are no more om-field-types, instead we have date-cp, time-cp, dateTime-cp as om-field-types DELETE FROM type_entity WHERE name IN ('date', 'dateTime', 'time');