Deserialize custom notifications
What does this MR do?
Start https://gitlab.com/gitlab-org/gitlab-ce/issues/24892 by moving the serialised column to individual columns. Make the accessors check both while we're migrating.
Once this is in a release, in the next release we can remove the events
column, and start thinking about the rest of https://gitlab.com/gitlab-org/gitlab-ce/issues/24892#note_19162978 (I should probably split this into separate issues for each stage).
Are there points in the code the reviewer needs to double check?
Yes, the accessors are a little tricky.
Why was this MR needed?
- Kills a serialised field
🔥 - Makes it easier to do other refactors.
What are the relevant issue numbers?
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/24892.