Open
Description
Problem
We currently have firestore indices defined in two places: the firestore.indexes.json
file in the maple
repo root, and the actual firebase project itself.
The more accurate of these is currently the firebase project because we have developed a bad habit of adding indices through the console UI on an ad hoc basis instead of checking them into source control. We would prefer to have a more consistent, versioned history of all changes to firestore indices (as well as ensure that query changes are being properly tested before being promoted to QA).
This should help identify missing indices prior to deployment and reduce the number of breaking bugs we see on QA related to Firestore queries.
Success Criteria
- Pull a copy of the existing indices down from the development Firestore instance
- There is a firebase tools command that handles this (
firebase firestore:indexes
) - DEV and PROD should be largely similar here - I think we can proceed on the assumption that DEV has all of the latest indices
- There is a firebase tools command that handles this (
- Update the
firestore.indexes.json
file to include all of our current indices - Update the PR template checklist to include a reminder for back-end tickets to add any new firestore indices