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

Ensure Testview Name Uniqueness with MD5 of Model Name and Invocation ID #241

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

tkirschke
Copy link

Problem

Every dbt test creates a view with the name "testview_<random_number>". If a test can not be executed, maybe because a column name is wrong, the view doesn't get dropped afterwards.

The next iteration might want to create a view with the same name, because the range of the random funtion is quite limited. It can't create that, because the name is already taken (if you are unlucky). This leads to an error.

Solution

Instead of using a random function, I used testview_{{ local_md5(model.name ~ invocation_id) }}. Not using MD5 would be nicer for readability, but you might run into issues regarding the maximum object name length of 128 characters.

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

Successfully merging this pull request may close these issues.

1 participant