Aller au contenu

CLI de schema

Le script mondrian-schema enveloppe l’outil Java mondrian.schema.yaml.SchemaCli afin que vous n’ayez pas à vous souvenir d’une longue incantation mvn exec:java. Utilisez-le pour convertir les schemas XML existants en YAML, convertir le YAML en XML pour le déploiement, ou valider un fichier de schema avant de l’enregistrer dans Saiku.


Commandes

to-yaml — convertir XML en YAML

Fenêtre de terminal
./scripts/mondrian-schema to-yaml <input.xml> [-o output.yaml]

Lit un schema XML Mondrian-4 et écrit la représentation YAML équivalente. Si -o est omis, le YAML est écrit sur stdout.

Exemple — convertir FoodMart :

Fenêtre de terminal
./scripts/mondrian-schema to-yaml demo/FoodMart.mondrian.xml -o demo/FoodMart.yaml

Exemple — prévisualiser sans enregistrer :

Fenêtre de terminal
./scripts/mondrian-schema to-yaml demo/FoodMart.mondrian.xml | head -40

to-xml — convertir YAML en XML

Fenêtre de terminal
./scripts/mondrian-schema to-xml <input.yaml> [-o output.xml]

Lit un schema YAML Mondrian-4 et écrit le XML équivalent. Si -o est omis, le XML est écrit sur stdout. C’est la même conversion que le moteur Saiku exécute automatiquement à l’exécution — l’exécuter manuellement est utile pour inspecter la sortie avant le déploiement ou pour migrer vers une chaîne d’outils XML native.

Exemple — convertir vers XML :

Fenêtre de terminal
./scripts/mondrian-schema to-xml demo/FoodMart.yaml -o FoodMart-generated.xml

Exemple — pipe vers un diff pour vérifier la fidélité de l’aller-retour :

Fenêtre de terminal
./scripts/mondrian-schema to-xml demo/FoodMart.yaml | diff demo/FoodMart.mondrian.xml -

lint — valider un fichier de schema

Fenêtre de terminal
./scripts/mondrian-schema lint <input.{yaml,xml}>

Analyse et valide un fichier de schema — YAML ou XML. Les erreurs et avertissements sont écrits sur stderr. En cas de succès, la commande se termine silencieusement avec le code 0.

Exemple — linter un schema YAML :

Fenêtre de terminal
./scripts/mondrian-schema lint demo/FoodMart.yaml

Exemple — linter un schema XML :

Fenêtre de terminal
./scripts/mondrian-schema lint demo/FoodMart.mondrian.xml

Codes de sortie

CodeSignification
0Succès — pas d’erreurs
1Mauvais arguments ou fichier d’entrée manquant
2Échec d’analyse ou de validation — diagnostic écrit sur stderr

Ces codes conviennent à une utilisation dans les pipelines CI et les hooks pré-enregistrement.


Flux typiques

  1. Convertissez votre schema XML existant en YAML :

    Fenêtre de terminal
    ./scripts/mondrian-schema to-yaml my-schema.xml -o my-schema.yaml
  2. Lintez le YAML pour confirmer qu’il est valide :

    Fenêtre de terminal
    ./scripts/mondrian-schema lint my-schema.yaml
  3. Passez en revue et annotez my-schema.yaml avec des commentaires, puis téléversez-le dans Saiku via la page Schemas.


Prérequis

Le script requiert :

  • Java — disponible sur $PATH (même version JVM utilisée pour construire le projet)
  • Maven — pour la construction de classpath unique ; non nécessaire après que le cache existe
  • Le dépôt mondrian-saiku extrait localement (le script fait partie de ce dépôt, pas un binaire autonome)

Liens connexes

  • Schemas YAML — la référence complète des éléments YAML.
  • Schemas — téléversez et gérez les schemas dans le dashboard Saiku.
  • Schema designer — générez un schema à partir d’une description en langage naturel.