Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin schema files for dbt 1.8 #153

Open
matthieucan opened this issue Aug 6, 2024 · 2 comments
Open

Pin schema files for dbt 1.8 #153

matthieucan opened this issue Aug 6, 2024 · 2 comments

Comments

@matthieucan
Copy link

Hi,
I'd like to use the json schema files for dbt 1.8.
In my understanding, they are currently stored as latest. But if I use latest, it will become incorrect once latest refers to 1.9.
Would you be willing to have a copy of the current latest under a 1.8 folder, like it's done for previous versions?

@joellabes
Copy link
Collaborator

Hello! We haven't made a final decision on how we'll approach this going forward. A couple of options are:

  • Just before 1.9 is released, we make a copy of the latest folder and call it 1.8 as you propose
  • For backward-compatibility reasons, we're extremely unlikely to remove any properties in 1.9 or later that work in 1.8. Because of this, I don't think it's critical that we have JSON Schema version for every dbt Core version, as I did in the past. If you wind up staying on 1.8 after 1.9 is released (or are on Versionless for dbt Cloud users), you may see false negatives (where something that doesn't work in your project is marked as valid) but you won't get false positives (where something is incorrectly marked as invalid). I don't necessarily hate the idea that the JSON Schema acts as a discoverability tool, to let people know that there is new functionality available. What do you think?

@matthieucan
Copy link
Author

Thanks for your fast answer!

If future versions of the json schemas are backwards-compatible, my issues are pretty much addressed.
I certainly intend to migrate to newer releases of dbt, but there's always of course a delay between release and migration/adoption.

That said, ideally the json schemas configured in our build systems and IDEs always matches the version in use - even with backwards-compatibility in mind. To that end, perhaps an easy solution to implement could be to:

  • Always version json schemas, i.e folders named 1.7, 1.8, 1.9
  • Have a latest folder, which is a symbolic link towards the most recent version folder

This is quite a standard approach for software releases, as it avoids any duplication, and allows both "getting a specific version" and "always getting the latest version". Any thoughts on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants