You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi Alex & team! I wanted to give you a heads up about a change to dispatch functionality coming in the next version of dbt. Let me know if you have questions, I'm more than happy to help.
Required code change
We've made a change to adapter.dispatch: Instead of passing a _get_namespaces() macro to the packages arg, you should pass the name of this package (as a string) to the macro_namespace arg, which is now the second positional argument.
If a user wishes to override/shim this package, instead of defining a var named adapter_packages, they should now define a config in dbt_project.yml, for instance:
This change is in dbt v0.19.2 as well. Both v0.19.2 and v0.20.0 have backwards compatibility for the old syntax, so there's no huge rush to upgrade.
However:
The old syntax will start raising a deprecation warning in v0.20.
You've named your override var adapter_packages, rather than the convention of dbtvault_dispatch_list, so we don't have backwards compatibility for checking that variable in dbt v0.19.2 + v0.20.0 as of now. Do you know if folks are relying on this today? If so, we can add (hard-coded) logic to check a var named adapter_packages IFF the dispatching package is named dbtvault.
As soon as you do upgrade to the new syntax, you'll need to require dbt >= 0.19.2 (or just >=0.20.0, for simplicity, since you're already making compatibility changes in #69).
Hi Alex & team! I wanted to give you a heads up about a change to
dispatch
functionality coming in the next version of dbt. Let me know if you have questions, I'm more than happy to help.Required code change
We've made a change to
adapter.dispatch
: Instead of passing a_get_namespaces()
macro to thepackages
arg, you should pass the name of this package (as a string) to themacro_namespace
arg, which is now the second positional argument.In practice, this just looks like switching each macro like:
https://github.com/Datavault-UK/dbtvault/blob/d15aeab5691056348c0ccafe4e4f153cc7e84710/macros/internal/alias_all.sql#L1-L5
To:
I hope this could be as simple as Find + Replace for
packages = dbtvault.get_dbtvault_namespaces()
→'dbtvault'
.If you prefer more explicit syntax, you could also make this:
For the README
If a user wishes to override/shim this package, instead of defining a var named
adapter_packages
, they should now define a config indbt_project.yml
, for instance:Notes
This change is in dbt v0.19.2 as well. Both v0.19.2 and v0.20.0 have backwards compatibility for the old syntax, so there's no huge rush to upgrade.
However:
adapter_packages
, rather than the convention ofdbtvault_dispatch_list
, so we don't have backwards compatibility for checking that variable in dbt v0.19.2 + v0.20.0 as of now. Do you know if folks are relying on this today? If so, we can add (hard-coded) logic to check a var namedadapter_packages
IFF the dispatching package is nameddbtvault
.As soon as you do upgrade to the new syntax, you'll need to require
dbt >= 0.19.2
(or just>=0.20.0
, for simplicity, since you're already making compatibility changes in #69).See also:
The text was updated successfully, but these errors were encountered: