Really good post! Thank you for your effort.
I have a question regarding feature flags in the backend. What if your new feature requires relatively big or significant database migrations. How does that impact the process? Do you maintain two data structures (old and new) till the feature is done?
Really good post! Thank you for your effort.
I have a question regarding feature flags in the backend. What if your new feature requires relatively big or significant database migrations. How does that impact the process? Do you maintain two data structures (old and new) till the feature is done?
That really depends on the migration + feature.
We can never take downtime at GitHub. So when making any DB change, it has to work with both the old and new code.
A recent example, we just had a feature that required us to move data to a new table. The process was like this.