mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-24 17:59:52 +00:00

* API Service Schemas * Create API Service Schemas * Create API Service Schemas * Add API Collection APIs * Add API Endpoint APIs * Fix #10933: New Entity: API Services * Fix Postgres schema creation for API entities * domain ref * fix RESTConnection.json * Fix openAPI reserved keyword * fix ref * Fix for Java Heap Space Issue * fix APISchema spec * fix APISchema spec --------- Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com> Co-authored-by: mohitdeuex <mohit.y@deuexsolutions.com> Co-authored-by: Mohit Yadav <105265192+mohityadav766@users.noreply.github.com>
63 lines
2.5 KiB
SQL
63 lines
2.5 KiB
SQL
-- 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';
|
|
|
|
|
|
-- 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)
|
|
); |