376 lines
13 KiB
Python
376 lines
13 KiB
Python
# Generated by Django 5.2.7 on 2025-10-06 21:15
|
|
|
|
import django.db.models.deletion
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
("communications", "0001_initial"),
|
|
("core", "0001_initial"),
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AddField(
|
|
model_name="alertrule",
|
|
name="tenant",
|
|
field=models.ForeignKey(
|
|
help_text="Tenant organization",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="core.tenant",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="alertinstance",
|
|
name="alert_rule",
|
|
field=models.ForeignKey(
|
|
help_text="Associated alert rule",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="instances",
|
|
to="communications.alertrule",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="communicationchannel",
|
|
name="created_by",
|
|
field=models.ForeignKey(
|
|
blank=True,
|
|
help_text="Channel creator",
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to=settings.AUTH_USER_MODEL,
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="communicationchannel",
|
|
name="tenant",
|
|
field=models.ForeignKey(
|
|
help_text="Tenant organization",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="core.tenant",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="deliverylog",
|
|
name="channel",
|
|
field=models.ForeignKey(
|
|
help_text="Communication channel used",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="delivery_logs",
|
|
to="communications.communicationchannel",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="message",
|
|
name="reply_to_message",
|
|
field=models.ForeignKey(
|
|
blank=True,
|
|
help_text="Original message if this is a reply",
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to="communications.message",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="message",
|
|
name="sender",
|
|
field=models.ForeignKey(
|
|
help_text="Message sender",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="sent_messages",
|
|
to=settings.AUTH_USER_MODEL,
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="message",
|
|
name="tenant",
|
|
field=models.ForeignKey(
|
|
help_text="Tenant organization",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="core.tenant",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="deliverylog",
|
|
name="message",
|
|
field=models.ForeignKey(
|
|
help_text="Associated message",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="delivery_logs",
|
|
to="communications.message",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="messagerecipient",
|
|
name="message",
|
|
field=models.ForeignKey(
|
|
help_text="Associated message",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="recipients",
|
|
to="communications.message",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="messagerecipient",
|
|
name="user",
|
|
field=models.ForeignKey(
|
|
blank=True,
|
|
help_text="User recipient",
|
|
null=True,
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to=settings.AUTH_USER_MODEL,
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="deliverylog",
|
|
name="recipient",
|
|
field=models.ForeignKey(
|
|
help_text="Associated recipient",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="delivery_logs",
|
|
to="communications.messagerecipient",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="notificationtemplate",
|
|
name="created_by",
|
|
field=models.ForeignKey(
|
|
blank=True,
|
|
help_text="Template creator",
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to=settings.AUTH_USER_MODEL,
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="notificationtemplate",
|
|
name="tenant",
|
|
field=models.ForeignKey(
|
|
help_text="Tenant organization",
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
to="core.tenant",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="alertrule",
|
|
name="notification_template",
|
|
field=models.ForeignKey(
|
|
blank=True,
|
|
help_text="Notification template to use",
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to="communications.notificationtemplate",
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="alertinstance",
|
|
index=models.Index(
|
|
fields=["alert_rule", "status"], name="communicati_alert_r_69aa1e_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="alertinstance",
|
|
index=models.Index(
|
|
fields=["severity", "triggered_at"],
|
|
name="communicati_severit_65b0c9_idx",
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="alertinstance",
|
|
index=models.Index(
|
|
fields=["status", "triggered_at"], name="communicati_status_402adb_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="alertinstance",
|
|
index=models.Index(
|
|
fields=["expires_at"], name="communicati_expires_2c10ee_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="communicationchannel",
|
|
index=models.Index(
|
|
fields=["tenant", "channel_type"], name="communicati_tenant__0326d1_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="communicationchannel",
|
|
index=models.Index(
|
|
fields=["is_active", "is_healthy"],
|
|
name="communicati_is_acti_77d48f_idx",
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="communicationchannel",
|
|
index=models.Index(
|
|
fields=["last_health_check"], name="communicati_last_he_71110c_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="communicationchannel",
|
|
index=models.Index(
|
|
fields=["provider_type"], name="communicati_provide_583ead_idx"
|
|
),
|
|
),
|
|
migrations.AlterUniqueTogether(
|
|
name="communicationchannel",
|
|
unique_together={("tenant", "name")},
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="message",
|
|
index=models.Index(
|
|
fields=["tenant", "status"], name="communicati_tenant__d41606_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="message",
|
|
index=models.Index(
|
|
fields=["sender", "created_at"], name="communicati_sender__7da57d_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="message",
|
|
index=models.Index(
|
|
fields=["message_type", "priority"],
|
|
name="communicati_message_b3baa0_idx",
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="message",
|
|
index=models.Index(
|
|
fields=["scheduled_at"], name="communicati_schedul_59afe2_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="message",
|
|
index=models.Index(
|
|
fields=["message_thread_id"], name="communicati_message_990a68_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="messagerecipient",
|
|
index=models.Index(
|
|
fields=["message", "status"], name="communicati_message_6c5b5b_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="messagerecipient",
|
|
index=models.Index(
|
|
fields=["user", "status"], name="communicati_user_id_2e3702_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="messagerecipient",
|
|
index=models.Index(
|
|
fields=["recipient_type"], name="communicati_recipie_b45f4d_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="messagerecipient",
|
|
index=models.Index(
|
|
fields=["sent_at"], name="communicati_sent_at_10fda1_idx"
|
|
),
|
|
),
|
|
migrations.AlterUniqueTogether(
|
|
name="messagerecipient",
|
|
unique_together={
|
|
("message", "email_address"),
|
|
("message", "phone_number"),
|
|
("message", "user"),
|
|
},
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="deliverylog",
|
|
index=models.Index(
|
|
fields=["message", "status"], name="communicati_message_fdf561_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="deliverylog",
|
|
index=models.Index(
|
|
fields=["recipient", "status"], name="communicati_recipie_8a8767_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="deliverylog",
|
|
index=models.Index(
|
|
fields=["channel", "started_at"], name="communicati_channel_03e902_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="deliverylog",
|
|
index=models.Index(
|
|
fields=["status", "started_at"], name="communicati_status_eb46bd_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="deliverylog",
|
|
index=models.Index(
|
|
fields=["external_id"], name="communicati_externa_64021f_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="notificationtemplate",
|
|
index=models.Index(
|
|
fields=["tenant", "template_type"],
|
|
name="communicati_tenant__c0ae05_idx",
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="notificationtemplate",
|
|
index=models.Index(
|
|
fields=["category", "is_active"], name="communicati_categor_2c7900_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="notificationtemplate",
|
|
index=models.Index(
|
|
fields=["is_system_template"], name="communicati_is_syst_dae5b7_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="notificationtemplate",
|
|
index=models.Index(
|
|
fields=["usage_count"], name="communicati_usage_c_d78c30_idx"
|
|
),
|
|
),
|
|
migrations.AlterUniqueTogether(
|
|
name="notificationtemplate",
|
|
unique_together={("tenant", "name", "template_type")},
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="alertrule",
|
|
index=models.Index(
|
|
fields=["tenant", "is_active"], name="communicati_tenant__6d58f7_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="alertrule",
|
|
index=models.Index(
|
|
fields=["trigger_type", "severity"],
|
|
name="communicati_trigger_0ab274_idx",
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="alertrule",
|
|
index=models.Index(
|
|
fields=["last_evaluated_at"], name="communicati_last_ev_3529e2_idx"
|
|
),
|
|
),
|
|
migrations.AddIndex(
|
|
model_name="alertrule",
|
|
index=models.Index(
|
|
fields=["is_system_rule"], name="communicati_is_syst_52420d_idx"
|
|
),
|
|
),
|
|
migrations.AlterUniqueTogether(
|
|
name="alertrule",
|
|
unique_together={("tenant", "name")},
|
|
),
|
|
]
|