For push notifications support on Echo we added some DB tables to keep the state required:
https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Echo/+/master/db_patches/echo_push_provider.sql
https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/Echo/+/master/db_patches/echo_push_subscription.sql
While working on the push-notifications service it looked like we might need some extra, maybe optional, information on the API requests like:
- APNS topic
- (maybe) notifications expiry
To avoid complicated migrations ideally we prefer to only add columns.
Decision: Add a eps_data column to store a JSON blob of subscription data that need not be indexed for querying.