fivetran / dbt_jira

Data models for Fivetran's Jira connector built using dbt.
https://fivetran.github.io/dbt_jira/
Apache License 2.0
8 stars 13 forks source link

bugfix/revised-parent-id-datatype #122

Closed fivetran-joemarkiewicz closed 4 months ago

fivetran-joemarkiewicz commented 4 months ago

PR Overview

This PR will address the following Issue/Feature: Issue #121

This PR will result in the following new package version: v0.16.0

The changing datatype of the revised_parent_issue_id field from int to string will result in a breaking change. There is no impact on incremental models, so no full refresh is required. But we should categorize this as a breaking change.

Please provide the finalized CHANGELOG entry which details the relevant changes included in this PR:

🚨 Breaking Changes: Bug Fixes 🚨

Under the Hood

PR Checklist

Basic Validation

Please acknowledge that you have successfully performed the following commands locally:

Before marking this PR as "ready for review" the following have been applied:

Detailed Validation

Please share any and all of your validation steps:

Please see the corresponding Height ticket for a link to the Hex validation doc.

If you had to summarize this PR in an emoji, which would it be?

🧶
fivetran-joemarkiewicz commented 4 months ago

My remaining question is that in other packages, we preferred to cast in the source package rather than in the downstream joins, so we only had to cast once. Do we not do this in this case because the intermediate models get a bit complicated and this was more straightforward or another reason?

Great question @fivetran-catfritz! You are correct that I would prefer we typically cast the fields as string in the staging models. However, I did not take the approach here as it was a more straightforward approach and when exploring casting the upstream fields as strings I found that this PR would have quite a larger fingerprint and cause significantly more breaking changes (with little to no value). Because of this I decided taking the direct approach was the more efficient way to go about addressing this issue for both us and the end user. In this case the end user only has to be concerned about the revised_parent_issue_id being changed to a string datatype. If we were to cast the fields (particularly the issue_id field) upstream it would involve more models and fields that would be breaking.

Let me know if you have any other questions!