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

HRQB 40 - remove volatile warehouse data and fix merge fields #111

Merged
merged 1 commit into from
Jul 23, 2024

Conversation

ghukill
Copy link
Collaborator

@ghukill ghukill commented Jul 22, 2024

Purpose and background context

Three issues were noted during testing:

  1. Some tables had updates for rows each daily run, even though meaningful data had not changed. This was due to internal data warehouse values getting included in Quickbase table that changed daily, but were not meaningful changes.

  2. Quickbase table Performance Reviews had some clobbering due to the merge 'Key' field not being unique.

  3. Issue 2 above revealed that appointments with an end date were still receiving Performance Review rows after the end date.

How this addresses those needs:

  1. Foreign keys from data warehouse were removed from Quickbase tables. These provided no value, and were false flags that data was changing.

  2. Performance Reviews got the Related Employee Appointment ID as part of its merge Key field hashing. This makes them globally unique for an employee.

  3. Performance Reviews are only created until the appointment ends.

Side effects of this change:

  • All records were wiped from Performance Reviews and reloaded.

How can a reviewer manually see the effects of these changes?

These were purely data mapping updates. Changes in unit tests reflect changes in behavior.

Includes new or updated dependencies?

NO

Changes expectations for external applications?

YES: data was reloaded for table Performance Reviews

What are the relevant tickets?

Developer

  • All new ENV is documented in README
  • All new ENV has been added to staging and production environments
  • All related Jira tickets are linked in commit message(s)
  • Stakeholder approval has been confirmed (or is not needed)

Code Reviewer(s)

  • The commit message is clear and follows our guidelines (not just this PR message)
  • There are appropriate tests covering any new functionality
  • The provided documentation is sufficient for understanding any new functionality introduced
  • Any manual tests have been performed or provided examples verified
  • New dependencies are appropriate or there were no changes

Why these changes are being introduced:

Two issues were noted during testing:

1. Some tables had updates for rows each daily run, even
though meaningful data had not changed. This was due to data
internal warehouse values getting included in Quickbase table that
changed daily, but were not meaningful changes.

2. Performance Reviews had some clobbering due to the merge
'Key' field not being unique.

How this addresses that need:

1. Foreign keys from data warehouse were removed from Quickbase
tables.  These provided no value, and were false flags that
data was changing.

2. Performance Reviews got the related Employee Appointment ID
as part of its merge 'Key' field hashing.  This makes them globally
unique for an employee.

Side effects of this change:
* All records were wiped from Performance Reviews and reloaded.

Relevant ticket(s):
* https://mitlibraries.atlassian.net/browse/HRQB-40
@@ -109,7 +109,6 @@ def get_dataframe(self) -> pd.DataFrame:
)

fields = {
"hr_appt_key": "HR Appointment Key",
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an example of a data warehouse foreign key that was assumed to be enduring, but actually changes day-to-day.

QB tables have slowly moved into an explicit Key field approach, that is written by HRQBClient. This field was leftover and removing it does not remove any meaningful data from QB.

@ghukill ghukill merged commit 18bc79c into main Jul 23, 2024
4 checks passed
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.

3 participants