alert_words: Move alert_words from UserProfile to separate model.

Previously, alert words were a JSON list of strings stored in a
TextField on user_profile.  That hacky model reflected the fact that
they were an early prototype feature.

This commit migrates from that to a separate table, 'AlertWord'.  The
new AlertWord has user_profile, word, id and realm(denormalization so
we can provide a nice index for fetching all the alert words in a
realm).

This transition requires moving the logic for flushing the Alert Words
caches to their own independent feature.

Note that this commit should not be cherry-picked without the
following commit, which fixes case-sensitivity issues with Alert Words.
This commit is contained in:
Abhishek-Balaji
2020-04-15 16:04:26 +05:30
committed by Tim Abbott
parent 818776faae
commit 052368bd3e
10 changed files with 135 additions and 36 deletions

View File

@@ -77,6 +77,7 @@ ALL_ZULIP_TABLES = {
'social_auth_partial',
'social_auth_usersocialauth',
'two_factor_phonedevice',
'zerver_alertword',
'zerver_archivedattachment',
'zerver_archivedattachment_messages',
'zerver_archivedmessage',