Migration from V0.17 to V0.18
This guide outlines all breaking and important changes introduced in version V0.18 of the Store.
๐ What's New in V0.18?
The following dashboards are now available in the store:
anomalies
PEVR
diplomation
โ ๏ธ Migration Instructions
๐งฉ Dependency Updates
Breaking Changes
- Updated
dbt
to v1.9.0 - Updated adapter to
sciance/dbt-fabric
v1.9.4 - Environment now managed via
poetry
v2.0.0- The
pyproject.toml
now uses Poetry 2.0 format
- The
- Minimum Python version is now 3.10
You must upgrade your environment accordingly:
- To manage multiple Python versions, install
pyenv
. - To install
poetry
v2.0.0, run:curl -sSL https://install.python-poetry.org | python3 -
Poetry v2.0.0 has deprecated
Use
poetry shell
.Use
poetry env activate
instead to activate your virtual environment.
Be carefull, beacuse of reasons, poetry env activate
will not activate the environment in your current shell, it will return the command you need to run in your current shell to activate the environment.
You can use eval $(poetry env activate)
to activate the environment in your current shell.๐ท๏ธ Project Renaming
Breaking Changes
- The project name has been changed from
store
โcore_dashboards_store
- All references to
store
must be replaced withcore_dashboards_store
, including:- Resource declarations in
dbt_project.yml
(models
,seeds
,tests
,hooks
) - Macro calls in any
.sql
file
- Resource declarations in
Example fix in dbt_project.yml
:
{{ store.get_current_year() }} # is deprecated and should be replaced with
{{ core_dashboards_store.get_current_year() }}
๐ ๏ธ dbt_project.yml
Updates
Non-breaking Change
- New macro added:
core_dashboards_store.drop_tmp_table_for_current_model
- Cleans up dangling temp tables for the current model
- Recommended for use as a pre-hook in
dbt_project.yml
:
models:
+pre-hook:
- "{{ core_dashboards_store.drop_tmp_table_for_current_model(model_name=this.name) }}"
core_dashboards_store:
...
This ensures temporary artifacts are properly removed before model execution, preventing a potential issue when dbt is not gracefully terminated.