Migrations
V0.17 -> V0.18
Migration de V0.17 vers V0.18
Ce guide présente tous les changements importants et incompatibles introduits dans la version V0.18 du Store.
🚀 Nouveautés de V0.18
Les dashboards suivants sont maintenant disponibles dans le Store:
anomaliesPEVRdiplomation
⚠️ Instructions de migration
🧩 Mises à jour des dépendances
Changements incompatibles
- Mise à jour de
dbtvers v1.9.0 - Mise à jour de l'adapter
sciance/dbt-fabricvers v1.9.4 - L'environnement est maintenant géré avec
poetryv2.0.0- Le fichier
pyproject.tomlutilise désormais le format Poetry 2.0
- Le fichier
- La version minimale de Python est maintenant 3.10
Vous devez mettre à jour votre environnement en conséquence:
- Pour gérer plusieurs versions de Python, installez
pyenv. - Pour installer
poetryv2.0.0, exécutez:curl -sSL https://install.python-poetry.org | python3 -
Poetry v2.0.0 a déprécié
poetry shell.
Utilisez plutôt poetry env activate pour activer votre environnement virtuel.
Attention: poetry env activate n'active pas directement l'environnement dans le shell courant. La commande retourne plutôt la commande à exécuter dans le shell courant pour activer l'environnement.
Vous pouvez utiliser eval $(poetry env activate) pour activer l'environnement dans le shell courant.🏷️ Renommage du projet
Changements incompatibles
- Le nom du projet est passé de
storeàcore_dashboards_store - Toutes les références à
storedoivent être remplacées parcore_dashboards_store, y compris:- Les déclarations de ressources dans
dbt_project.yml(models,seeds,tests,hooks) - Les appels de macros dans les fichiers
.sql
- Les déclarations de ressources dans
Exemple de correction dans dbt_project.yml:
{{ store.get_current_year() }} # est déprécié et doit être remplacé par
{{ core_dashboards_store.get_current_year() }}
🛠️ Mises à jour de dbt_project.yml
Changement compatible
- Nouvelle macro ajoutée:
core_dashboards_store.drop_tmp_table_for_current_model- Nettoie les tables temporaires orphelines pour le modèle courant
- Recommandée comme pre-hook dans
dbt_project.yml:
models:
+pre-hook:
- "{{ core_dashboards_store.drop_tmp_table_for_current_model(model_name=this.name) }}"
core_dashboards_store:
...
Cela garantit que les artefacts temporaires sont correctement supprimés avant l'exécution du modèle, ce qui prévient un problème potentiel lorsque dbt ne se termine pas proprement.
