Repository navigation
Add PostgreSQL database definition schemas - #657
Open
Nemanja Djuric (nemanja-djuric) wants to merge 3 commits into
Open
Nemanja Djuric (nemanja-djuric) wants to merge 3 commits into
Nemanja Djuric (nemanja-djuric) wants to merge 3 commits into
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the definition schema package and documentation for the Microsoft Fabric
PostgreSQLDatabaseitem inpgschemaformat, version1.0.0: a Draft-07 schema for the decodedmanifest.jsonpart, an inline example, and descriptive definition-layout metadata.Canonical manifest schema publication URL:
https://developer.microsoft.com/json-schemas/fabric/item/postgreSQLDatabase/definition/manifest/1.0.0/schema.json
These changes do not publish the artifacts live.
Changes
fabric/item/postgreSQLDatabase/definition/manifest/1.0.0/schema.json: a closed Draft-07 object requiring exactly three string properties:$schema,format, andversion. The required$schemamarker is a URI fixed to the canonical manifest schema identifier;formatis fixed to"pgschema";versionis fixed to"1.0.0". Values are case-sensitive and additional properties are forbidden. The version also has a three-component, no-leading-zero pattern; itsconststill prevents other versions.fabric/item/postgreSQLDatabase/definition/manifest/1.0.0/examples/inline.json: an example containing exactly those three required values.fabric/item/postgreSQLDatabase/definitionStructure/1.0.0/definitionStructure.json: layout metadata using the common definition-structure schema, with rootversion: "1.0.0"andformat: "pgschema". It recordsmanifest.jsonandmain.sqlas required singletons (minCount: 1,maxCount: 1). Only the JSON manifest has aschemaRef. All SQL entries havetype: "sql"; the eleven optional groups haveminCount: 0and no maximum count:types/*.sql,domains/*.sql,sequences/*.sql,functions/*.sql,procedures/*.sql,aggregates/*.sql,tables/*.sql,views/*.sql,materialized_views/*.sql,privileges/*.sql, anddefault_privileges/*.sql.fabric/item/postgreSQLDatabase/README.md: documents the required schema marker, inline example, descriptor, and complete SQL-group inventory. Preserves the distinction between expanded Git files and the publicdefinition.pgschemaworkload part (anInlineBase64ZIP), the separate.platformmetadata and RESTdefinition.parts[]transport, and the independent manifest, generator, and platform-metadata version domains.tests/validate-fabric-schemas_test.py: preserves the original gates for every existing schema. All JSON files retain JSON/reference checks; only the two explicitly named non-schema example/layout artifacts are excluded from schema-document metadata gates. Adds explicit coverage for the fixed manifest contract, version pattern, inline example, required singletons, and all eleven optional SQL groups.Scope
.platform, or the REST envelope.mainorlive.postgreSQLDatabasefolder follows the existing lower-camel item-folder convention. The versioneddefinition/manifestpath scopes the JSON schema to the manifest part rather than the complete bundle.Validation
python -m pytest tests\validate-fabric-schemas_test.py -q -p no:cacheprovider: 611 passed, exit 0.