mirror of
https://github.com/zulip/zulip.git
synced 2025-11-10 17:07:07 +00:00
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.
28 lines
902 B
Python
28 lines
902 B
Python
# -*- coding: utf-8 -*-
|
|
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('zerver', '0275_remove_userprofile_last_pointer_updater'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='AlertWord',
|
|
fields=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('word', models.TextField()),
|
|
('realm', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='zerver.Realm')),
|
|
('user_profile', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
|
|
],
|
|
options={
|
|
'unique_together': {('user_profile', 'word')},
|
|
},
|
|
),
|
|
]
|