json.schema.entity.data.databaseSchema.json Maven / Gradle / Ivy
{
"$id": "https://open-metadata.org/schema/entity/data/databaseSchema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Database Schema",
"$comment": "@om-entity-type",
"description": "This schema defines the Database Schema entity. A `Database Schema` is collection of tables, views, stored procedures, and other database objects.",
"type": "object",
"javaType": "org.openmetadata.schema.entity.data.DatabaseSchema",
"javaInterfaces": ["org.openmetadata.schema.EntityInterface"],
"definitions": {
},
"properties": {
"id": {
"description": "Unique identifier that identifies this schema instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
"description": "Name that identifies the schema.",
"$ref": "../../type/basic.json#/definitions/entityName"
},
"fullyQualifiedName": {
"description": "Name that uniquely identifies a schema in the format 'ServiceName.DatabaseName.SchemaName'.",
"$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName"
},
"displayName": {
"description": "Display Name that identifies this schema.",
"type": "string"
},
"description": {
"description": "Description of the schema instance.",
"$ref": "../../type/basic.json#/definitions/markdown"
},
"dataProducts" : {
"description": "List of data products this entity is part of.",
"$ref" : "../../type/entityReferenceList.json"
},
"version": {
"description": "Metadata version of the entity.",
"$ref": "../../type/entityHistory.json#/definitions/entityVersion"
},
"updatedAt": {
"description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.",
"$ref": "../../type/basic.json#/definitions/timestamp"
},
"updatedBy": {
"description": "User who made the update.",
"type": "string"
},
"href": {
"description": "Link to the resource corresponding to this entity.",
"$ref": "../../type/basic.json#/definitions/href"
},
"owners": {
"description": "Owner of this schema.",
"$ref": "../../type/entityReferenceList.json"
},
"service": {
"description": "Link to the database cluster/service where this schema is hosted in.",
"$ref": "../../type/entityReference.json"
},
"serviceType": {
"description": "Service type where this schema is hosted in.",
"$ref": "../services/databaseService.json#/definitions/databaseServiceType"
},
"database": {
"description": "Reference to Database that contains this table.",
"$ref": "../../type/entityReference.json"
},
"tables": {
"description": "References to tables in the schema.",
"$ref": "../../type/entityReferenceList.json"
},
"usageSummary": {
"description": "Latest usage information for this database.",
"$ref": "../../type/usageDetails.json",
"default": null
},
"tags": {
"description": "Tags for this Database Schema Service.",
"type": "array",
"items": {
"$ref": "../../type/tagLabel.json"
},
"default": null
},
"changeDescription": {
"description": "Change that lead to this version of the entity.",
"$ref": "../../type/entityHistory.json#/definitions/changeDescription"
},
"deleted": {
"description": "When `true` indicates the entity has been soft deleted.",
"type": "boolean",
"default": false
},
"retentionPeriod" : {
"description": "Retention period of the data in the database schema. Period is expressed as duration in ISO 8601 format in UTC. Example - `P23DT23H`. When not set, the retention period is inherited from the parent database, if it exists.",
"$ref": "../../type/basic.json#/definitions/duration"
},
"extension": {
"description": "Entity extension data with custom attributes added to the entity.",
"$ref": "../../type/basic.json#/definitions/entityExtension"
},
"sourceUrl": {
"description": "Source URL of database schema.",
"$ref": "../../type/basic.json#/definitions/sourceUrl"
},
"domain": {
"description": "Domain the Database Schema belongs to. When not set, the Schema inherits the domain from the database it belongs to.",
"$ref": "../../type/entityReference.json"
},
"votes": {
"description": "Votes on the entity.",
"$ref": "../../type/votes.json"
},
"lifeCycle": {
"description": "Life Cycle properties of the entity",
"$ref": "../../type/lifeCycle.json"
},
"sourceHash": {
"description": "Source hash of the entity",
"type": "string",
"minLength": 1,
"maxLength": 32
},
"databaseSchemaProfilerConfig": {
"type": "object",
"javaType": "org.openmetadata.schema.type.DatabaseSchemaProfilerConfig",
"description": "This schema defines the type for Schema profile config.",
"properties": {
"profileSample": {
"description": "Percentage of data or no. of rows we want to execute the profiler and tests on",
"type": "number",
"default": null
},
"profileSampleType": {
"$ref": "./table.json#/definitions/profileSampleType"
},
"sampleDataCount": {
"description": "Number of row of sample data to be generated",
"type": "integer",
"default": 50,
"title": "Sample Data Rows Count"
},
"sampleDataStorageConfig": {
"title": "Storage Config for Sample Data",
"$ref": "../services/connections/connectionBasicType.json#/definitions/sampleDataStorageConfig"
}
}
}
},
"required": ["name", "database", "service"],
"additionalProperties": false
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy