mirror of
				https://github.com/open-metadata/OpenMetadata.git
				synced 2025-11-03 20:19:31 +00:00 
			
		
		
		
	* Added migration steps to delete profiler pipeline from entity relationship * Added migration to remove rows from entity_relationship with profiler pipelines * Fixed sample data TestDefinition name after renaming testDefinition * Added user_tokens table to v005 Co-authored-by: mohitdeuex <mohit.y@deuexsolutions.com>
		
			
				
	
	
		
			119 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
UPDATE team_entity
 | 
						|
SET json = JSON_INSERT(json, '$.teamType', 'Group');
 | 
						|
 | 
						|
ALTER TABLE team_entity
 | 
						|
ADD teamType VARCHAR(64) GENERATED ALWAYS AS (json ->> '$.teamType') NOT NULL;
 | 
						|
 | 
						|
UPDATE dbservice_entity
 | 
						|
SET json = JSON_REMOVE(json, '$.connection.config.database')
 | 
						|
WHERE serviceType = 'DynamoDB';
 | 
						|
 | 
						|
UPDATE dbservice_entity
 | 
						|
SET json = JSON_REMOVE(json, '$.connection.config.connectionOptions')
 | 
						|
WHERE serviceType = 'DeltaLake';
 | 
						|
 | 
						|
UPDATE dbservice_entity
 | 
						|
SET json = JSON_REMOVE(json, '$.connection.config.supportsProfiler')
 | 
						|
WHERE serviceType = 'DeltaLake';
 | 
						|
 | 
						|
UPDATE dashboard_service_entity
 | 
						|
SET json = JSON_INSERT(
 | 
						|
        JSON_REMOVE(json, '$.connection.config.username'),
 | 
						|
        '$.connection.config.clientId',
 | 
						|
        JSON_EXTRACT(json, '$.connection.config.username')
 | 
						|
    )
 | 
						|
WHERE serviceType = 'Looker';
 | 
						|
 | 
						|
UPDATE dashboard_service_entity
 | 
						|
SET json = JSON_INSERT(
 | 
						|
        JSON_REMOVE(json, '$.connection.config.password'),
 | 
						|
        '$.connection.config.clientSecret',
 | 
						|
        JSON_EXTRACT(json, '$.connection.config.password')
 | 
						|
    )
 | 
						|
WHERE serviceType = 'Looker';
 | 
						|
 | 
						|
UPDATE dashboard_service_entity
 | 
						|
SET json = JSON_REMOVE(json, '$.connection.config.env')
 | 
						|
WHERE serviceType = 'Looker';
 | 
						|
 | 
						|
CREATE TABLE IF NOT EXISTS test_definition (
 | 
						|
    id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL,
 | 
						|
    name VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.name') NOT NULL,
 | 
						|
    json JSON NOT NULL,
 | 
						|
    entityType VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.entityType') 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'),
 | 
						|
    UNIQUE (name)
 | 
						|
);
 | 
						|
 | 
						|
CREATE TABLE IF NOT EXISTS test_suite (
 | 
						|
    id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL,
 | 
						|
    name VARCHAR(256) GENERATED ALWAYS AS (json ->> '$.name') 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'),
 | 
						|
    UNIQUE (name)
 | 
						|
);
 | 
						|
 | 
						|
CREATE TABLE IF NOT EXISTS test_case (
 | 
						|
    id VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.id') STORED NOT NULL,
 | 
						|
    fullyQualifiedName VARCHAR(512) GENERATED ALWAYS AS (json ->> '$.fullyQualifiedName') NOT NULL,
 | 
						|
    entityFQN VARCHAR (1024) GENERATED ALWAYS AS (json ->> '$.entityFQN') 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'),
 | 
						|
    UNIQUE (fullyQualifiedName)
 | 
						|
);
 | 
						|
 | 
						|
UPDATE webhook_entity
 | 
						|
SET json = JSON_INSERT(json, '$.webhookType', 'generic');
 | 
						|
 | 
						|
ALTER TABLE webhook_entity
 | 
						|
ADD webhookType VARCHAR(36) GENERATED ALWAYS AS (json ->> '$.webhookType') NOT NULL;
 | 
						|
 | 
						|
CREATE TABLE IF NOT EXISTS entity_extension_time_series (
 | 
						|
    entityFQN VARCHAR(1024) NOT NULL,           -- Entity FQN, we can refer to tables and columns
 | 
						|
    extension VARCHAR(256) NOT NULL,            -- Extension name same as entity.fieldName
 | 
						|
    jsonSchema VARCHAR(256) NOT NULL,           -- Schema used for generating JSON
 | 
						|
    json JSON NOT NULL,
 | 
						|
    timestamp BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.timestamp') NOT NULL
 | 
						|
);
 | 
						|
 | 
						|
ALTER TABLE thread_entity
 | 
						|
    ADD announcementStart BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.announcement.startTime'),
 | 
						|
    ADD announcementEnd BIGINT UNSIGNED GENERATED ALWAYS AS (json ->> '$.announcement.endTime');
 | 
						|
 | 
						|
UPDATE dbservice_entity
 | 
						|
SET json = JSON_REMOVE(json, '$.connection.config.databaseSchema','$.connection.config.oracleServiceName')
 | 
						|
WHERE serviceType = 'Oracle';
 | 
						|
 | 
						|
UPDATE dbservice_entity
 | 
						|
SET json = JSON_REMOVE(json, '$.connection.config.hostPort')
 | 
						|
WHERE serviceType = 'Athena';
 | 
						|
UPDATE dbservice_entity
 | 
						|
SET json = JSON_REMOVE(json, '$.connection.config.username', '$.connection.config.password')
 | 
						|
WHERE serviceType in ('Databricks');
 | 
						|
 | 
						|
CREATE TABLE IF NOT EXISTS openmetadata_settings (
 | 
						|
    id MEDIUMINT NOT NULL AUTO_INCREMENT,
 | 
						|
    configType VARCHAR(36) NOT NULL,
 | 
						|
    json JSON NOT NULL,
 | 
						|
    PRIMARY KEY (id, configType),
 | 
						|
    UNIQUE(configType)
 | 
						|
);
 | 
						|
 | 
						|
DELETE FROM entity_extension 
 | 
						|
WHERE jsonSchema IN ('tableProfile', 'columnTest', 'tableTest');
 | 
						|
 | 
						|
DELETE FROM ingestion_pipeline_entity 
 | 
						|
WHERE LOWER(JSON_EXTRACT(json, '$.pipelineType') = 'profiler');
 | 
						|
 | 
						|
DELETE FROM role_entity;
 | 
						|
DELETE FROM policy_entity;
 | 
						|
DELETE FROM field_relationship WHERE fromType IN ('role', 'policy') OR toType IN ('role', 'policy');
 | 
						|
DELETE FROM entity_relationship WHERE fromEntity IN ('role', 'policy') OR toEntity IN ('role', 'policy');
 | 
						|
ALTER TABLE role_entity DROP COLUMN defaultRole;
 |