-
Notifications
You must be signed in to change notification settings - Fork 74
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
New Rules! for model governance (dbt Core v1.5) #332
Comments
Love all of these ideas and am excited to address new best practices for model contracts. Do you think these best practices fall into one of our pre-existing categories (modeling, testing, documentation, structure, performance) or does this call for a new category? I think some of these fall neatly into modeling (such as Exposures Public Parents) - but for the others, I'm thinking about creating a new category for "governance". |
In my mind, most of them would fall on a new Governance category. Mostly because contracts/governance is quite opt-in and it would be great for people to activate/deactivate Governance rules if they want or not. The one that I am less sure about is "Column Naming Convention". While it only really works when governance is in place and all columns are listed, this feels more about modelling that Governance to me. |
loving this list of new no nos: we're gonna tackle this, likely in this priority order: Definitely:
Maybe:
|
This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please comment on the issue or else it will be closed in 7 days. |
@dave-connors-3 , you were looking at those at some points. Are you OK with closing this issue with the changes you did or do you think there is more work to be done? |
How about In our teams, all public models have external access, and writing the exposures are sometimes missed. IMO, public models without exposures are rare, Please tell us how do you think about it .. |
Hi @sadahry , thanks for adding this suggestion! I don't know if your rule would apply to a majority of use cases. In my mind, public models are about the ability to Internally we define exposures on models that are not public and have public models without exposures. What I would recommend instead here is for you to create your own custom model and test on top of the models the package is creating (you can check the existing models and tests for inspiration) and you can then run the project evaluator package with |
Understood. |
This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please comment on the issue or else it will be closed in 7 days. |
Although we are closing this issue as stale, it's not gone forever. Issues can be reopened if there is renewed community interest. Just add a comment to notify the maintainers. |
Describe the feature
https://dbt-labs.github.io/dbt-project-evaluator/0.5/rules/
I'd like to propose some New Rules, related to the model governance features that are new in v1.5.
access: public
also hascontract: {enforced: true}
access: public
has a top-leveldescription
anddescription
for every column (this rule, but more)access: public
(similar to this rule)latest
, oneold
, oneprerelease
groups
. Groupable resources are everything exceptsources
+exposures
. Raise a warning about resources that aren't in groups, with an owner. (This will be a heavier lift at first; we should build tooling to make it easier!)access
: private, protected, public. My absolutely arbitrary guess at an ideal breakdown would be somewhere in the ballpark of 50/40/10%. Everygroup
should have at least oneprivate
model.Related to
deprecation_date
(dbt-labs/dbt-core#7433), coming in v1.6:old
model versions (<latest_version
) must have adeprecation_date
deprecation_date
earlier than today should be removedVery open to thoughts & feedback on all of the above — and more ideas, of course :)
Who will this benefit?
Developers & maintainers of large & complex projects, who want to start taking advantage of v1.5 features for model governance
Are you interested in contributing this feature?
I can help with refining/brainstorming, &/or possibly contribute with some of my hacktime :)
The text was updated successfully, but these errors were encountered: