Utilisation

Overrider un modèle

Remplacer localement une implémentation commune, avec un contrat stable.

Overrider un modèle

Un override remplace un modèle commun par une version locale.

Il sert lorsque le modèle du core a le bon rôle, mais que la règle doit être différente pour un CSS.

Étapes minimales

  1. Repérer le modèle dans core.dashboards_store.snowflake/models.
  2. Lire son contrat dans le schema.yml.
  3. Créer un modèle local avec le même nom.
  4. Désactiver le modèle du core dans dbt_project.yml.
  5. Garder le même grain et les colonnes attendues.
  6. Exécuter dbt build sur le modèle et ses dépendants.

Exemple

Modèle local :

-- cssxx.dashboards_store.snowflake/models/marts/formation_professionnelle/staging/stg_eleves_reguliers.sql

select distinct
    id_eleve,
    annee_scolaire,
    code_programme
from {{ ref("stg_inscriptions_fp") }}
where statut_inscription in ('REGULIER', 'ACTIF')

Désactivation du modèle commun :

# cssxx.dashboards_store.snowflake/dbt_project.yml
models:
  core_dashboards_store_snowflake:
    marts:
      formation_professionnelle:
        staging:
          stg_eleves_reguliers:
            +enabled: false

Validation :

poetry run dbt build --select stg_eleves_reguliers+

Documentation détaillée

La page Overrider un modèle décrit le mécanisme complet.

La page Contrats de données décrit les vérifications à faire.

Point de contrôle

La sortie locale doit pouvoir remplacer la sortie commune sans casser le tableau de bord.