Zuora/IronBank - Move from excluded_fields to included_fields
Problem
Adding a new field in Zuora can break Cdot's Zuora integration (see https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/9413#note_1792940693). For example:
- A field is added to dev environment but not other environments
- The local schema is updated
- Queries use all the fields from the local schema
- Since the field doesn't exist in staging/prod the query fails
To prevent this we have to actively ignore each new field that is added by setting excluded_fields
.
Proposal
Switch from a blacklist (excluded_fields) to a whitelist (included_fields). This way we are more declarative and only query for the fields we care about while preventing unexpected downtime.
excluded_fields
is an implementation included with the iron_bank
gem. We will have to roll our own included_fields
implementation.
Result
Next steps (if any)
How will we measure success?
Edited by Ryan Cobb