mirror of
https://github.com/status-im/status-go.git
synced 2025-02-01 09:28:02 +00:00
e2cab1a8ae
- Extracted `community_events_factory.go` - Introduced `eventsProcessor` - Improved processing logic order - Improved events filtering - Introduced concept of `EventTypeID` to prevent redundant events handling - Added sanity check before events appliance when reading community from database - Removed reject&re-apply scheme (no more ping-pong issue) - Fixed and added more variants to eventual consistency test fixes: status-im/status-desktop#13387 fixes: status-im/status-desktop#13388
How to write migrations?
We only write up
migrations, down
migrations are not always possible in sqlite or
too complex/too expensive. For example to remove a column you would have to duplicate
the table, copy over the data, delete and recreated.
This can be very expensive for some tables (user_messages for example), so should not be attempted.
Notes
One issue we faced multiple times is that updates to user_messages
can be very
expensive, leading to slow upgrade times and interrupted migrations. So avoid
writes if not necessary.